ActionBar: Verwendung im Pflichtenheft-Controller
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 11 Jan 2017 10:33:17 +0000 (11:33 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 28 Feb 2017 09:43:59 +0000 (10:43 +0100)
SL/Controller/RequirementSpec.pm
templates/webpages/requirement_spec/_form.html

index 6d9c57b..9fd3cf3 100644 (file)
@@ -66,6 +66,8 @@ sub action_new {
     $self->requirement_spec->$_($self->copy_source->$_) for qw(type_id status_id customer_id title hourly_rate is_template)
   }
 
+  $self->_setup_form_action_bar;
+
   $self->render('requirement_spec/new', title => $self->requirement_spec->is_template ? t8('Create a new requirement spec template') : t8('Create a new requirement spec'));
 }
 
@@ -682,4 +684,23 @@ sub init_html_template {
   return !!$template;
 }
 
+sub _setup_form_action_bar {
+  my ($self) = @_;
+
+  for my $bar ($::request->layout->get('actionbar')) {
+    $bar->add(
+      action => [
+        t8('Save'),
+        submit    => [ '#basic_settings_form', { action => 'RequirementSpec/' . ($self->requirement_spec->id ? 'update' : 'create') } ],
+        accesskey => 'enter',
+      ],
+
+      link => [
+        t8('Abort'),
+        link => $self->url_for(action => 'list', is_template => $self->requirement_spec->is_template),
+      ],
+    );
+  }
+}
+
 1;
index a89a99b..ea73e4d 100644 (file)
 [%- END %]
 
  <p>
-[% IF submit_as == 'post' %]
-  [% L.hidden_tag("action", "RequirementSpec/dispatch", id=id_prefix _ '_action') %]
-  [% L.submit_tag("action_" _ (SELF.requirement_spec.id ? "update" : "create"), LxERP.t8('Save'), id=id_prefix _ '_action_update') %]
-  <a href="[% SELF.url_for(action="list", is_template=SELF.requirement_spec.is_template) %]">[% LxERP.t8('Abort') %]</a>
-[% ELSE %]
+[% IF submit_as != 'post' %]
   [% L.ajax_submit_tag("controller.pl?action=RequirementSpec/update",  "#" _ id_prefix, LxERP.t8("Save"), id=id_prefix _ '_submit') %]
   <script type="text/javascript"><!--
   $(function() {