Finish migration to new button handling.

You can now define in your datatables template which buttons to
show on top and which to show per row while defining an arbitrary
action for it.

Buttons with name "Delete" pop up a confirm dialog automatically.
agranig/1_0_subfix
Andreas Granig 12 years ago
parent 0d63c971af
commit 4bbbee3aa1

@ -33,8 +33,6 @@ sub profile_list :Chained('/') :PathPart('billing') :CaptureArgs(0) {
my $profiles_rs = $self->$dispatch_to($c);
$c->stash(profiles_rs => $profiles_rs);
$c->stash(has_edit => 1);
$c->stash(has_delete => 0);
$c->stash(template => 'billing/list.tt');
}
@ -134,7 +132,6 @@ sub create :Chained('profile_list') :PathPart('create') :Args(0) {
sub fees_list :Chained('base') :PathPart('fees') :CaptureArgs(0) {
my ($self, $c) = @_;
$c->stash(has_edit => 1);
$c->stash(template => 'billing/fees.tt');
}
@ -318,7 +315,6 @@ sub zones_list :Chained('base') :PathPart('zones') :CaptureArgs(0) {
$c->uri_for_action('/billing/zones', [$c->req->captures->[0]])
);
$c->stash(has_edit => 0);
$c->stash(template => 'billing/zones.tt');
}

@ -15,7 +15,6 @@ sub auto :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRol
sub dom_list :Chained('/') :PathPart('domain') :CaptureArgs(0) {
my ($self, $c) = @_;
$c->stash(has_edit => 0);
$c->stash(template => 'domain/list.tt');
}

@ -21,8 +21,6 @@ sub levels_list :Chained('/') :PathPart('ncos') :CaptureArgs(0) {
my $levels_rs = $self->$dispatch_to($c);
$c->stash(levels_rs => $levels_rs);
$c->stash(has_edit => 1);
$c->stash(has_delete => 1);
$c->stash(template => 'ncos/list.tt');
}
@ -157,8 +155,6 @@ sub pattern_list :Chained('base') :PathPart('pattern') :CaptureArgs(0) {
return;
}
$c->stash(has_edit => 1);
$c->stash(has_delete => 1);
$c->stash(template => 'ncos/pattern_list.tt');
}

@ -20,8 +20,6 @@ sub group_list :Chained('/') :PathPart('peering') :CaptureArgs(0) {
NGCP::Panel::Utils::check_redirect_chain(c => $c);
$c->stash(has_edit => 1);
$c->stash(has_delete => 1);
$c->stash(template => 'peering/list.tt');
}

@ -16,8 +16,6 @@ sub auto :Does(ACL) :ACLDetachTo('/denied_page') :AllowedRole(admin) :AllowedRol
sub set_list :Chained('/') :PathPart('rewrite') :CaptureArgs(0) {
my ( $self, $c ) = @_;
$c->stash(has_edit => 1);
$c->stash(has_delete => 1);
$c->stash(template => 'rewrite/set_list.tt');
}
@ -119,8 +117,6 @@ sub rules_list :Chained('set_base') :PathPart('rules') :CaptureArgs(0) {
$c->stash(rules_rs => $rules_rs);
$c->stash(rules_uri => $c->uri_for_action("/rewrite/rules_root", [$c->req->captures->[0]]));
$c->stash(has_edit => 1);
$c->stash(has_delete => 1);
$c->stash(template => 'rewrite/rules_list.tt');
}

@ -10,7 +10,6 @@
helper.create_flag = create_flag;
helper.edit_flag = edit_fee_flag;
helper.form_object = form;
helper.has_edit = has_edit;
helper.ajax_uri = c.uri_for_action('/billing/fees_ajax', [c.req.captures.0]);
helper.tmpuri = c.uri_for( profile.id, 'fees');

@ -58,12 +58,19 @@
helper.create_flag = peaktimes_special_createflag;
helper.edit_flag = peaktimes_special_editflag;
helper.has_edit = 1;
helper.ajax_uri = c.uri_for_action("/billing/peaktime_specials_ajax", [c.req.captures.0]);
helper.base_uri = c.uri_for(c.req.captures.0, "peaktimes","date");
helper.form_object = peaktimes_special_form;
helper.close_target = close_target;
helper.tmpuri = c.uri_for(c.req.captures.0, "peaktimes","date");
helper.dt_buttons = [
{ name = 'Edit', uri = helper.tmpuri _ "/'+full[0]+'/edit", class = 'btn-small btn-primary', icon = 'icon-edit' },
{ name = 'Delete', uri = helper.tmpuri _ "/'+full[0]+'/delete", class = 'btn-small btn-secondary', icon = 'icon-trash' },
];
helper.top_buttons = [
{ name = 'Create Special Off-Peak Date', uri = helper.tmpuri _ "/create", icon = 'icon-star' },
];
PROCESS 'helpers/datatables.tt';
-%]

@ -9,7 +9,6 @@
helper.create_flag = create_flag;
helper.edit_flag = edit_fee_flag;
helper.form_object = form;
helper.has_edit = has_edit;
helper.ajax_uri = c.uri_for_action( '/billing/zones_ajax',[c.req.captures.0] );
helper.tmpuri = c.uri_for( profile.id, 'zones');

@ -10,10 +10,15 @@
helper.create_flag = create_flag;
helper.edit_flag = edit_flag;
helper.form_object = form;
helper.has_edit = has_edit;
helper.ajax_uri = c.uri_for( c.controller.action_for('ajax') );
helper.base_uri = c.uri_for( c.controller.action_for("") );
helper.extra_buttons = [["Preferences", "preferences"]];
helper.dt_buttons = [
{ name = 'Delete', uri = "/domain/'+full[0]+'/delete", class = 'btn-small btn-secondary', icon = 'icon-trash' },
{ name = 'Preferences', uri = "/domain/'+full[0]+'/preferences", class = 'btn-small btn-tertiary', icon = 'icon-list' },
];
helper.top_buttons = [
{ name = 'Create Domain', uri = c.uri_for('/domain/create'), icon = 'icon-star' },
];
PROCESS 'helpers/datatables.tt';
-%]

@ -11,6 +11,10 @@
helper.form = form;
helper.base_uri = c.uri_for(domain.id,'preferences');
helper.top_buttons = [
{ name = 'Back', uri = c.uri_for(), icon = 'icon-arrow-left' },
];
PROCESS 'helpers/pref_table.tt';
%]

@ -28,7 +28,8 @@ $(document).ready(function() {
return '' +
'<div class="sw_actions pull-right">'
[% FOR button IN helper.dt_buttons -%]
+ '<a class="btn [% button.class %]" href="[% button.uri %]">' +
[% confirm_delete = 'data-confirm="Delete"' IF button.name == "Delete" -%]
+ '<a class="btn [% button.class %]" href="[% button.uri %]" [% confirm_delete %]>' +
'<i class="[% button.icon %]"></i> [% button.name %]' +
'</a>'
[% END -%]

@ -9,13 +9,15 @@
helper.create_flag = create_flag;
helper.edit_flag = edit_flag;
helper.form_object = form;
helper.has_edit = has_edit;
helper.has_delete = has_delete;
helper.ajax_uri = c.uri_for_action( "/ncos/ajax" );
helper.base_uri = c.uri_for_action( "/ncos/root" );
helper.extra_buttons = [
[ 'Patterns', 'pattern'],
helper.dt_buttons = [
{ name = 'Edit', uri = "/ncos/'+full[0]+'/edit", class = 'btn-small btn-primary', icon = 'icon-edit' },
{ name = 'Delete', uri = "/ncos/'+full[0]+'/delete", class = 'btn-small btn-secondary', icon = 'icon-trash' },
{ name = 'Patterns', uri = "/ncos/'+full[0]+'/pattern", class = 'btn-small btn-tertiary', icon = 'icon-list' },
];
helper.top_buttons = [
{ name = 'Create NCOS Level', uri = c.uri_for('/ncos/create'), icon = 'icon-star' },
];
PROCESS 'helpers/datatables.tt';

@ -1,7 +1,5 @@
[% site_config.title = 'Number Patterns for ' _ level_result.level -%]
<a href="[% c.uri_for() %]">&lt; Back</a>
[%
helper.name = 'Number Pattern';
helper.messages = messages;
@ -12,10 +10,17 @@
helper.create_flag = create_flag;
helper.edit_flag = edit_flag;
helper.form_object = form;
helper.has_edit = has_edit;
helper.has_delete = has_delete;
helper.ajax_uri = c.uri_for_action( "/ncos/pattern_ajax", [c.req.captures.0] );
helper.base_uri = c.uri_for_action( "/ncos/pattern_root", [c.req.captures.0] );
helper.tmpuri = c.uri_for_action( "/ncos/pattern_root", [c.req.captures.0] )
helper.dt_buttons = [
{ name = 'Edit', uri = helper.tmpuri _ "/'+full[0]+'/edit", class = 'btn-small btn-primary', icon = 'icon-edit' },
{ name = 'Delete', uri = helper.tmpuri _ "/'+full[0]+'/delete", class = 'btn-small btn-secondary', icon = 'icon-trash' },
];
helper.top_buttons = [
{ name = 'Back', uri = c.uri_for(), icon = 'icon-arrow-left' },
{ name = 'Create Pattern Entry', uri = c.uri_for_action( "/ncos/pattern_root", [c.req.captures.0] ) _ "/create", icon = 'icon-star' },
];
PROCESS 'helpers/datatables.tt';
-%]

@ -9,8 +9,6 @@
helper.create_flag = create_flag;
helper.edit_flag = edit_flag;
helper.form_object = form;
helper.has_edit = has_edit;
helper.has_delete = has_delete;
helper.ajax_uri = c.uri_for_action( "/peering/ajax" );
helper.dt_buttons = [

@ -12,10 +12,10 @@
[c.req.captures.0, c.req.captures.1]);
helper.dt_buttons = [
{ name = 'Edit', uri = "/peering/servers_preferences_root/" _ c.req.captures.0 _ "/" _ c.req.captures.1, class = 'btn-small btn-primary', icon = 'icon-edit' },
{ name = 'Edit', uri = c.uri_for_action("/peering/servers_preferences_root", [c.req.captures.0, c.req.captures.1]), class = 'btn-small btn-primary', icon = 'icon-edit' },
];
helper.top_buttons = [
{ name = 'Back', uri = "/peering/" _ c.req.captures.0 _ "/servers/", icon = 'icon-arrow-left' },
{ name = 'Back', uri = c.uri_for(group.id, "servers"), icon = 'icon-arrow-left' },
];
PROCESS 'helpers/pref_table.tt';

@ -9,8 +9,6 @@
helper.create_flag = servers_create_flag;
helper.edit_flag = servers_edit_flag;
helper.form_object = servers_form;
helper.has_edit = 1;
helper.has_delete = 1;
helper.ajax_uri = c.uri_for_action( "/peering/servers_ajax", [c.req.captures.0] );
helper.tmpuri = c.uri_for_action("/peering/servers_root", [c.req.captures.0]);
@ -36,8 +34,6 @@
helper.create_flag = rules_create_flag;
helper.edit_flag = rules_edit_flag;
helper.form_object = rules_form;
helper.has_edit = 1;
helper.has_delete = 1;
helper.ajax_uri = c.uri_for_action( "/peering/rules_ajax", [c.req.captures.0] );
helper.tmpuri = c.uri_for(group.id, "rules");

@ -11,7 +11,14 @@
helper.edit_flag = edit_flag;
helper.form_object = form;
helper.ajax_uri = c.uri_for( c.controller.action_for('ajax') );
helper.base_uri = c.uri_for( c.controller.action_for("") );
helper.dt_buttons = [
{ name = 'Edit', uri = "/reseller/'+full[0]+'/edit", class = 'btn-small btn-primary', icon = 'icon-edit' },
{ name = 'Delete', uri = "/domain/'+full[0]+'/delete", class = 'btn-small btn-secondary', icon = 'icon-trash' },
];
helper.top_buttons = [
{ name = 'Create Reseller', uri = c.uri_for('/reseller/create'), icon = 'icon-star' },
];
PROCESS 'helpers/datatables.tt';
-%]

@ -1,9 +1,12 @@
[% site_config.title = 'Rewrite Rules for ' _ set_result.name -%]
<a href="[% c.uri_for() %]">&lt; Back</a>
<div class="row">
<span>
<a class="btn btn-primary btn-large" href="[% c.uri_for() %]"><i class="icon-arrow-left"></i> Back</a>
</span>
<span>
<a class="btn btn-primary btn-large" href="[% c.uri_for_action('/rewrite/rules_create', [c.req.captures.0]) %]"><i class="icon-star"></i> Create Rewrite Rule</a>
</span>
</div>
[% IF messages -%]

@ -9,13 +9,16 @@
helper.create_flag = create_flag;
helper.edit_flag = edit_flag;
helper.form_object = form;
helper.has_edit = has_edit;
helper.has_delete = has_delete;
helper.ajax_uri = c.uri_for_action( "/rewrite/set_ajax" );
helper.base_uri = c.uri_for_action( "/rewrite/set_root" );
helper.extra_buttons = [
[ 'Rules', 'rules'],
helper.dt_buttons = [
{ name = 'Edit', uri = "/rewrite/'+full[0]+'/edit", class = 'btn-small btn-primary', icon = 'icon-edit' },
{ name = 'Delete', uri = "/rewrite/'+full[0]+'/delete", class = 'btn-small btn-secondary', icon = 'icon-trash' },
{ name = 'Rules', uri = "/rewrite/'+full[0]+'/rules", class = 'btn-small btn-tertiary', icon = 'icon-list' },
];
helper.top_buttons = [
{ name = 'Create Rewrite Rule Set', uri = c.uri_for('/rewrite/create'), icon = 'icon-star' },
];
PROCESS 'helpers/datatables.tt';

Loading…
Cancel
Save