From 5efcb49405b1caa362cd214b52c9314b66d569da Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Fri, 24 Mar 2017 14:43:53 +0100 Subject: [PATCH] =?utf8?q?ActionBar:=20Verwendung=20bei=20=C2=BBSystem?= =?utf8?q?=C2=AB=20=E2=86=92=20=C2=BBLager=C2=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- bin/mozilla/am.pl | 101 ++++++++++++++++-- locale/de/all | 4 +- .../webpages/am/confirm_delete_warehouse.html | 20 ---- templates/webpages/am/edit_bins.html | 53 +++++++++ templates/webpages/am/edit_warehouse.html | 70 +----------- templates/webpages/am/list_warehouses.html | 6 -- 6 files changed, 149 insertions(+), 105 deletions(-) delete mode 100644 templates/webpages/am/confirm_delete_warehouse.html create mode 100644 templates/webpages/am/edit_bins.html diff --git a/bin/mozilla/am.pl b/bin/mozilla/am.pl index 2aeba0372..c776ef60a 100644 --- a/bin/mozilla/am.pl +++ b/bin/mozilla/am.pl @@ -34,6 +34,8 @@ use utf8; +use List::MoreUtils qw(any); + use SL::Auth; use SL::Auth::PasswordPolicy; use SL::AM; @@ -1290,6 +1292,8 @@ sub add_warehouse { $form->{title} = $locale->text('Add Warehouse'); $form->{callback} ||= build_std_url('action=add_warehouse'); + setup_am_edit_warehouse_action_bar(); + $form->header(); print $form->parse_html_template('am/edit_warehouse'); @@ -1312,12 +1316,28 @@ sub edit_warehouse { $form->{title} = $locale->text('Edit Warehouse'); $form->{callback} ||= build_std_url('action=list_warehouses'); + setup_am_edit_warehouse_action_bar(id => $::form->{id}, in_use => any { $_->{in_use} } @{ $::form->{BINS} }); + $form->header(); print $form->parse_html_template('am/edit_warehouse'); $main::lxdebug->leave_sub(); } +sub edit_bins { + $::auth->assert('config'); + + AM->get_warehouse(\%::myconfig, $::form); + + $::form->{title} = $::locale->text('Edit Bins for Warehouse \'#1\'', $::form->{description}); + $::form->{callback} ||= build_std_url('action=list_warehouses'); + + setup_am_edit_bins_action_bar(id => $::form->{id}); + + $::form->header; + print $::form->parse_html_template('am/edit_bins'); +} + sub list_warehouses { $main::lxdebug->enter_sub(); @@ -1333,6 +1353,8 @@ sub list_warehouses { $form->{title} = $locale->text('Warehouses'); $form->{url_base} = build_std_url('callback'); + setup_am_list_warehouses_action_bar(); + $form->header(); print $form->parse_html_template('am/list_warehouses'); @@ -1370,14 +1392,6 @@ sub delete_warehouse { $main::auth->assert('config'); - if (!$form->{confirmed}) { - $form->{title} = $locale->text('Confirmation'); - - $form->header(); - print $form->parse_html_template('am/confirm_delete_warehouse'); - $::dispatcher->end_request; - } - if (AM->delete_warehouse(\%myconfig, $form)) { $form->{callback} .= '&saved_message=' . E($locale->text('Warehouse deleted.')) if ($form->{callback}); $form->redirect($locale->text('Warehouse deleted.')); @@ -1531,3 +1545,74 @@ sub setup_am_edit_units_action_bar { ); } } + +sub setup_am_list_warehouses_action_bar { + my %params = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + link => [ + t8('Add'), + link => 'am.pl?action=add&type=warehouse&callback=' . E($::form->{callback}), + accesskey => 'enter', + ], + ); + } +} + +sub setup_am_edit_warehouse_action_bar { + my %params = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Save'), + submit => [ '#form', { action => 'save_warehouse' } ], + accesskey => 'enter', + ], + + action => [ + t8('Delete'), + submit => [ '#form', { action => 'delete_warehouse' } ], + disabled => !$params{id} ? t8('The object has not been saved yet.') + : $params{in_use} ? t8('The object is in use and cannot be deleted.') + : undef, + confirm => t8('Do you really want to delete this object?'), + ], + + 'separator', + + link => [ + t8('Bins'), + link => 'am.pl?action=edit_bins&id=' . E($params{id}), + only_if => $params{id}, + ], + + link => [ + t8('Abort'), + link => $::form->{callback} || 'am.pl?action=list_warehouses', + ], + ); + } +} + +sub setup_am_edit_bins_action_bar { + my %params = @_; + + for my $bar ($::request->layout->get('actionbar')) { + $bar->add( + action => [ + t8('Save'), + submit => [ '#form', { action => 'save_bin' } ], + accesskey => 'enter', + ], + + 'separator', + + link => [ + t8('Abort'), + link => 'am.pl?action=edit_warehouse&id=' . E($params{id}), + ], + ); + } +} diff --git a/locale/de/all b/locale/de/all index dc5d106af..1d4c9a9ef 100755 --- a/locale/de/all +++ b/locale/de/all @@ -437,6 +437,7 @@ $self->{texts} = { 'Bin List' => 'Lagerliste', 'Bin To' => 'Ziellagerplatz', 'Binding to the LDAP server as "#1" failed. Please check config/kivitendo.conf.' => 'Die Anmeldung am LDAP-Server als "#1" schlug fehl. Bitte überprüfen Sie die Angaben in config/kivitendo.conf.', + 'Bins' => 'Lagerplätze', 'Bins saved.' => 'Lagerplätze gespeichert.', 'Bins that have been used in the past cannot be deleted anymore. For these bins there\'s no checkbox in the "Delete" column.' => 'Lagerplätze, die bereits benutzt wurden, können nicht mehr gelöscht werden. Deswegen fehlt bei ihnen die Checkbox in der Spalte "Löschen".', 'Birthday' => 'Geburtstag', @@ -990,7 +991,6 @@ $self->{texts} = { 'Do you really want to delete this draft?' => 'Wollen Sie diesen Entwurf wirklich löschen?', 'Do you really want to delete this object?' => 'Wollen Sie dieses Objekt wirklich löschen?', 'Do you really want to delete this record template?' => 'Wollen Sie diese Belegvorlage wirklich löschen?', - 'Do you really want to delete this warehouse?' => 'Wollen Sie dieses Lager wirklich löschen?', 'Do you really want to revert to this version?' => 'Wollen Sie wirklich auf diese Version zurücksetzen?', 'Do you really want to save?' => 'Wollen Sie wirklich speichern?', 'Do you really want to unimport the selected documents?' => 'Wollen Sie wirklich diese Dateien an die Quelle zurückgeben?', @@ -1076,7 +1076,7 @@ $self->{texts} = { 'Edit Accounts Receivables Transaction' => 'Debitorenbuchung bearbeiten', 'Edit Assembly' => 'Erzeugnis bearbeiten', 'Edit Assortment' => 'Sortiment bearbeiten', - 'Edit Bins' => 'Lagerplätze bearbeiten', + 'Edit Bins for Warehouse \'#1\'' => 'Lagerplätze von Lager »#1« bearbeiten', 'Edit Client' => 'Mandanten bearbeiten', 'Edit Credit Note' => 'Gutschrift bearbeiten', 'Edit Customer' => 'Kunde editieren', diff --git a/templates/webpages/am/confirm_delete_warehouse.html b/templates/webpages/am/confirm_delete_warehouse.html deleted file mode 100644 index d26b75dbb..000000000 --- a/templates/webpages/am/confirm_delete_warehouse.html +++ /dev/null @@ -1,20 +0,0 @@ -[%- USE T8 %] -[%- USE HTML %] -

[% title %]

- -

[% 'Do you really want to delete this warehouse?' | $T8 %]

- -

[% 'Warehouse' | $T8 %]: [% HTML.escape(orig_description) %]

- -
- - - - - - - - -
- - diff --git a/templates/webpages/am/edit_bins.html b/templates/webpages/am/edit_bins.html new file mode 100644 index 000000000..8762dd34c --- /dev/null +++ b/templates/webpages/am/edit_bins.html @@ -0,0 +1,53 @@ +[%- USE HTML -%][%- USE T8 -%] + +

[% title %]

+ +[% UNLESS BINS.size %] +

[% 'No bins have been added to this warehouse yet.' | $T8 %]

+ +[% ELSE %] + +

+ [%- 'Bins that have been used in the past cannot be deleted anymore. For these bins there\'s no checkbox in the "Delete" column.' | $T8 %] +

+ +
+ + + + + + + + + + + + [%- SET row_odd = '1' %] + [%- USE bin_it = Iterator(BINS) %] + [%- FOREACH bin = bin_it %] + [%- IF row_odd %] + + [%- END %] + + + + + [%- SET end_tr = '0' %] + [%- UNLESS row_odd %][%- SET end_tr = '1' %][%- END %] + [%- IF bin_it.last %][%- SET end_tr = '1' %][%- END %] + [%- IF end_tr %] + + [%- END %] + + [%- IF row_odd %][% SET row_odd = '0' %][% ELSE %][% SET row_odd = '1' %][% END %] + [%- END %] +
[% 'Delete' | $T8 %][% 'Description' | $T8 %][% 'Delete' | $T8 %][% 'Description' | $T8 %]
[% IF bin.in_use %] [% ELSE %][% END %] + + +
+ + +
+ +[% END %] diff --git a/templates/webpages/am/edit_warehouse.html b/templates/webpages/am/edit_warehouse.html index 92573082d..f7731d308 100644 --- a/templates/webpages/am/edit_warehouse.html +++ b/templates/webpages/am/edit_warehouse.html @@ -6,7 +6,7 @@

[% saved_message %]

[% END %] -
+ @@ -37,72 +37,4 @@ - -

- - [%- IF id %][%- UNLESS in_use %] - - [%- END %][%- END %] -

-
- - [% IF id %] - -
- -

[% 'Edit Bins' | $T8 %]

- - [% UNLESS BINS.size %] -

[% 'No bins have been added to this warehouse yet.' | $T8 %]

- - [% ELSE %] - -

- [%- 'Bins that have been used in the past cannot be deleted anymore. For these bins there\'s no checkbox in the "Delete" column.' | $T8 %] -

- -
- - - - - - - - - - - - [%- SET row_odd = '1' %] - [%- USE bin_it = Iterator(BINS) %] - [%- FOREACH bin = bin_it %] - [%- IF row_odd %] - - [%- END %] - - - - - [%- SET end_tr = '0' %] - [%- UNLESS row_odd %][%- SET end_tr = '1' %][%- END %] - [%- IF bin_it.last %][%- SET end_tr = '1' %][%- END %] - [%- IF end_tr %] - - [%- END %] - - [%- IF row_odd %][% SET row_odd = '0' %][% ELSE %][% SET row_odd = '1' %][% END %] - [%- END %] -
[% 'Delete' | $T8 %][% 'Description' | $T8 %][% 'Delete' | $T8 %][% 'Description' | $T8 %]
[% IF bin.in_use %] [% ELSE %][% END %] - - -
- - - -

-
- - [% END %] - - [% END %] diff --git a/templates/webpages/am/list_warehouses.html b/templates/webpages/am/list_warehouses.html index d6735d2d2..b9677b354 100644 --- a/templates/webpages/am/list_warehouses.html +++ b/templates/webpages/am/list_warehouses.html @@ -24,10 +24,4 @@

-
- -

- [%- 'Add' | $T8 %] -

- [% L.sortable_element('#warehouse_list tbody', url => 'controller.pl?action=Warehouse/reorder', with => 'warehouse_id') %] -- 2.20.1