From 48452323cbb2feea5ec937b5328a4778e0da55ca Mon Sep 17 00:00:00 2001 From: Niclas Zimmermann Date: Mon, 10 Jun 2013 17:33:43 +0200 Subject: [PATCH] Popup-Button bei Upgrade MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Beim Upgrade für eindeutige Artikelnummern, war es bisher nicht möglich die bestehende Artikelliste zu durchsuchen. Jetzt kann man durch Klick auf einen Button ein Popup-Fenster öffnen, um die Artikelliste zu durchsuchen. Fixed #2238. Conflicts: locale/de/all --- SL/User.pm | 2 +- locale/de/all | 6 ++ sql/Pg-upgrade2/erzeugnisnummern.pl | 62 +++++++++++++++++++ .../webpages/dbupgrade/erzeugnisnummern.html | 15 +++++ 4 files changed, 84 insertions(+), 1 deletion(-) diff --git a/SL/User.pm b/SL/User.pm index e11fda4ce..871a453f7 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -137,7 +137,7 @@ sub login { if ($update_available) { $form->{"title"} = $main::locale->text("Dataset upgrade"); - $form->header(); + $form->header(no_layout => $form->{no_layout}); print $form->parse_html_template("dbupgrade/header"); $form->{dbupdate} = "db$myconfig{dbname}"; diff --git a/locale/de/all b/locale/de/all index d1422f6b8..d786c2eec 100755 --- a/locale/de/all +++ b/locale/de/all @@ -441,6 +441,7 @@ $self->{texts} = { 'Close Flash' => 'Schließen', 'Close SEPA exports' => 'SEPA-Export abschließen', 'Close Window' => 'Fenster Schließen', + 'Close window' => 'Fenster schließen', 'Closed' => 'Geschlossen', 'Collective Orders only work for orders from one customer!' => 'Sammelaufträge funktionieren nur für Aufträge von einem Kunden!', 'Column name' => 'Spaltenname', @@ -914,6 +915,7 @@ $self->{texts} = { 'Filter date by' => 'Datum filtern nach', 'Filter for customer variables' => 'Filter für benutzerdefinierte Kundenvariablen', 'Filter for item variables' => 'Filter für benutzerdefinierte Artikelvariablen', + 'Filter parts' => 'Artikel filtern', 'Finish' => 'Abschließen', 'First 20 Lines' => 'Nur erste 20 Datensätze', 'Fix transaction' => 'Buchung korrigieren', @@ -1432,6 +1434,7 @@ $self->{texts} = { 'Parts must have an entry type.' => 'Waren müssen eine Buchungsgruppe haben.', 'Parts with existing part numbers' => 'Artikel mit existierender Artikelnummer', 'Parts, services and assemblies' => 'Waren, Dienstleistungen und Erzeugnisse', + 'Parts:' => 'Artikel:', 'Partsgroup (database ID)' => 'Warengruppe (Datenbank-ID)', 'Partsgroup (name)' => 'Warengruppe (Name)', 'Password' => 'Passwort', @@ -1776,6 +1779,7 @@ $self->{texts} = { 'Service unit' => 'Dienstleistungseinheit', 'Service, assembly or part' => 'Dienstleistung, Erzeugnis oder Ware', 'Services' => 'Dienstleistungen', + 'Services, assemblies or parts' => 'Dienstleistungen, Erzeugnisse oder Waren', 'Set Language Values' => 'Spracheinstellungen', 'Set eMail text' => 'eMail Text eingeben', 'Settings' => 'Einstellungen', @@ -1811,6 +1815,7 @@ $self->{texts} = { 'Show TODO list' => 'Aufgabenliste anzeigen', 'Show Transfer via default' => 'Ein- / Auslagern über Standardlagerplatz anzeigen', 'Show administration link' => 'Link zur Administration anzeigen', + 'Show all parts' => 'Alle Artikel anzeigen', 'Show by default' => 'Standardmäßig anzeigen', 'Show custom variable search inputs' => 'Suchoptionen für Benutzerdefinierte Variablen verstecken', 'Show delete button in purchase delivery orders?' => 'Soll der "Löschen"-Knopf bei Einkaufslieferscheinen angezeigt werden?', @@ -2298,6 +2303,7 @@ $self->{texts} = { 'Valid' => 'Gültig', 'Valid from' => 'Gültig ab', 'Valid until' => 'gültig bis', + 'Valid/Obsolete' => 'Gültig/ungültig', 'Value' => 'Wert', 'Variable' => 'Variable', 'Variable Description' => 'Datenfeldbezeichnung', diff --git a/sql/Pg-upgrade2/erzeugnisnummern.pl b/sql/Pg-upgrade2/erzeugnisnummern.pl index 414689461..a6e95937f 100644 --- a/sql/Pg-upgrade2/erzeugnisnummern.pl +++ b/sql/Pg-upgrade2/erzeugnisnummern.pl @@ -13,6 +13,10 @@ use SL::DBUtils; sub run { my ($self) = @_; + if ($::form->{upgrade_action} eq 'filter_parts') { + return $self->filter_parts($self); + } + if ( $::form->{'continued'} ) { my $update_query; foreach my $i (1 .. $::form->{rowcount}) { @@ -50,4 +54,62 @@ sub print_error_message { print $::form->parse_html_template("dbupgrade/erzeugnisnummern"); } +sub filter_parts { + my $self = shift; + + my $where = 'TRUE'; + my @values; + + if ( $::form->{filter_partnumber} ) { + $where .= ' AND partnumber ILIKE ?'; + push(@values, $::form->like( $::form->{filter_partnumber} )); + } + + if ($::form->{filter_description}) { + $where .= ' AND description ILIKE ?'; + push(@values, $::form->like($::form->{filter_description})); + } + + if ($::form->{filter_notes}) { + $where .= ' AND notes ILIKE ?'; + push(@values, $::form->like($::form->{filter_notes})); + } + + if ($::form->{filter_ean}) { + $where .= ' AND ean ILIKE ?'; + push(@values, $::form->like($::form->{filter_ean})); + } + + if ($::form->{filter_type} eq 'assembly') { + $where .= ' AND assembly'; + } + + if ($::form->{filter_type} eq 'service') { + $where .= ' AND inventory_accno_id IS NULL AND NOT assembly'; + } + + if ($::form->{filter_type} eq 'part') { + $where .= ' AND inventory_accno_id IS NOT NULL'; + $where .= ' AND NOT assembly'; + } + + if ($::form->{filter_obsolete} eq 'obsolete') { + $where .= ' AND obsolete'; + } + + if ($::form->{filter_obsolete} eq 'valid') { + $where .= ' AND NOT obsolete'; + } + + my $query = qq|SELECT id, partnumber, description, unit, notes, assembly, ean, inventory_accno_id, obsolete + FROM parts + WHERE $where + ORDER BY partnumber|; + + $::form->{ALL_PARTS} = [ selectall_hashref_query($::form, $self->dbh, $query, @values) ]; + + print $::form->parse_html_template("dbupgrade/show_partlist"); + return 2; +} + 1; diff --git a/templates/webpages/dbupgrade/erzeugnisnummern.html b/templates/webpages/dbupgrade/erzeugnisnummern.html index 646685493..5b8f1a6c5 100644 --- a/templates/webpages/dbupgrade/erzeugnisnummern.html +++ b/templates/webpages/dbupgrade/erzeugnisnummern.html @@ -1,5 +1,17 @@ [%- USE T8 %] [% USE HTML %][%- USE LxERP -%]
[% 'Double partnumbers' | $T8 %]
+
@@ -38,6 +50,9 @@ + +
+
-- 2.20.1