ActionBar: Verwendung bei »Konto erfassen/bearbeiten«
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 31 Jan 2017 10:20:35 +0000 (11:20 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 28 Feb 2017 09:44:03 +0000 (10:44 +0100)
bin/mozilla/am.pl
locale/de/all
templates/webpages/am/edit_accounts.html

index ec27fbb..a62fa15 100644 (file)
@@ -109,7 +109,6 @@ sub edit_account {
   }
 
   &account_header;
-  &form_footer;
 
   $main::lxdebug->leave_sub();
 }
@@ -372,6 +371,8 @@ sub account_header {
   my $ChartTypeIsAccount = ($form->{charttype} eq "A") ? "1":"";
   my $AccountIsPosted = ($form->{orphaned} ) ? "":"1";
 
+  setup_am_edit_account_action_bar();
+
   $form->header();
 
   my $parameters_ref = {
@@ -1394,3 +1395,36 @@ sub setup_am_config_action_bar {
     );
   }
 }
+
+sub setup_am_edit_account_action_bar {
+  my %params = @_;
+
+  for my $bar ($::request->layout->get('actionbar')) {
+    $bar->add(
+      combobox => [
+        action => [
+          t8('Save'),
+          submit    => [ '#form', { action => "save_account" } ],
+          disabled  => $::form->{id} && !$::form->{orphaned} ? t8('The object is in use and cannot be changed.')
+                     :                                         undef,
+          accesskey => 'enter',
+        ],
+
+        action => [
+          t8('Save as new'),
+          submit   => [ '#form', { action => "save_as_new_account" } ],
+          disabled => !$::form->{id} ? t8('The object has not been saved yet.') : undef,
+        ],
+      ],
+
+      action => [
+        t8('Delete'),
+        submit   => [ '#form', { action => "delete_account" } ],
+        disabled => !$::form->{id}                         ? t8('The object has not been saved yet.')
+                  :  $::form->{id} && !$::form->{orphaned} ? t8('The object is in use and cannot be deleted.')
+                  :                                          undef,
+        confirm  => t8('Do you really want to delete this object?'),
+      ],
+    );
+  }
+}
index 2d30717..db1a230 100755 (executable)
@@ -3029,6 +3029,7 @@ $self->{texts} = {
   'The object has been deleted.' => 'Das Objekt wurde gelöscht..',
   'The object has been saved.'  => 'Das Objekt wurde gespeichert.',
   'The object has not been saved yet.' => 'Das Objekt wurde noch nicht gespeichert.',
+  'The object is in use and cannot be changed.' => 'Das Objekt ist in Benutzung und kann nicht geändert werden.',
   'The object is in use and cannot be deleted.' => 'Das Objekt ist in Benutzung und kann nicht gelöscht werden.',
   'The option field is empty.'  => 'Das Optionsfeld ist leer.',
   'The order has been deleted'  => 'Der Auftrag wurde gelöscht.',
index c83e94e..e07484b 100644 (file)
@@ -16,7 +16,7 @@ $(function() {
 });
 </script>
 
-<form method="post" name="EditAccount" action="am.pl">
+<form method="post" name="EditAccount" action="am.pl" id="form">
 
 <input type="hidden" name="id"                 value="[% HTML.escape(id) %]">
 <input type="hidden" name="type"               value="account">
@@ -308,3 +308,5 @@ $(function() {
   }
   </script>
 [% END %]
+[% L.hidden_tag('callback', callback) %]
+</form>