From: Moritz Bunkus
Date: Fri, 24 Mar 2017 13:43:53 +0000 (+0100)
Subject: ActionBar: Verwendung bei »System« → »Lager«
X-Git-Tag: release-3.5.4~1169
X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=5efcb49405b1caa362cd214b52c9314b66d569da;p=kivitendo-erp.git
ActionBar: Verwendung bei »System« → »Lager«
---
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 %]
+
+
+
+
+[% 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 %]
-
-
- [% 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 %]
-
-
-
-
- [% 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') %]