From f41e5b6ebad8817deb0c046213a1350e9237c571 Mon Sep 17 00:00:00 2001 From: Niclas Zimmermann Date: Fri, 19 Apr 2013 17:39:07 +0200 Subject: [PATCH] Verbesserung Upgrade-Script Erzeugnisnummern MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Die Änderung macht es dem Benutzer möglich, direkt beim Update Artikelnummern zu ändern. Weiterhin wurde noch Text ergänzt, der dem Benutzer die Änderung erläutert. --- locale/de/all | 5 ++++- sql/Pg-upgrade2/erzeugnisnummern.pl | 15 +++++++++++++-- .../webpages/dbupgrade/erzeugnisnummern.html | 14 +++++++++++--- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/locale/de/all b/locale/de/all index d75c99ff3..8c6685acf 100644 --- a/locale/de/all +++ b/locale/de/all @@ -282,6 +282,7 @@ $self->{texts} = { 'Basic Data' => 'Basisdaten', 'Batch Printing' => 'Druck', 'Bcc' => 'Bcc', + 'Because the useability gets worth if one partnumber is used for several parts (for example if you are searching a position for an invoice), partnumbers should be unique.' => 'Da die Benutzerfreundlichkeit durch doppelte Artikelnummern erheblich verschlechtert wird (zum Beispiel, wenn man einen Artikel für eine Rechnung sucht), sollten Artikelnummern eindeutig vergeben sein.', 'Belegnummer' => 'Buchungsnummer', 'Beratername' => 'Beratername', 'Beraternummer' => 'Beraternummer', @@ -925,7 +926,7 @@ $self->{texts} = { 'Fristsetzung' => 'Fristsetzung', 'From' => 'Von', 'From Date' => 'Von', - 'From this version on the partnumer of articles and assemblies have to be unique.' => 'Ab dieser Version muss die Artikelnummer eindeutig sein.', + 'From this version on the partnumber of services, articles and assemblies have to be unique.' => 'Ab dieser Version müssen Artikelnummern eindeutig vergeben werden.', 'From this version on the taxkey 0 must have a tax rate of 0 (for DATEV compatibility).' => 'Ab dieser Version muss der Steuerschlüssel 0 einen Steuersatz von 0% haben (auf Grund der DATEV-Kompatibilität).', 'Full Access' => 'Vollzugriff', 'Full Preview' => 'Alles', @@ -1796,6 +1797,7 @@ $self->{texts} = { 'Skipping due to existing entry in database' => 'Wegen existierendem Eintrag mit selber Nummer übersprungen', 'Skonto' => 'Skonto', 'Skonto Terms' => 'Zahlungsziel Skonto', + 'So far you could use one partnumber for severel parts, for example a service and an article.' => 'Bisher war es möglich eine Artikelnummer für mehrere Artikel zu verwenden, zum Beispiel eine Artikelnummer für eine Dienstleistung, eine Ware und ein Erzeugnis.', 'Sold' => 'Verkauft', 'Solution' => 'Lösung', 'Sort By' => 'Sortiert nach', @@ -2529,6 +2531,7 @@ $self->{texts} = { 'saving data' => 'Speichere Daten', 'sent' => 'gesendet', 'sent to printer' => 'an Drucker geschickt', + 'service' => 'Dienstleistung', 'service_list' => 'dienstleistungsliste', 'shipped' => 'verschickt', 'singular first char' => 'S', diff --git a/sql/Pg-upgrade2/erzeugnisnummern.pl b/sql/Pg-upgrade2/erzeugnisnummern.pl index 11ba2ef84..6908a931f 100644 --- a/sql/Pg-upgrade2/erzeugnisnummern.pl +++ b/sql/Pg-upgrade2/erzeugnisnummern.pl @@ -25,7 +25,17 @@ sub do_query { } sub do_update { - my $query = qq|SELECT id, partnumber, description, unit, notes, assembly, ean, inventory_accno_id + if ( $main::form->{'continued'} ) { + my $update_query; + foreach my $i (1 .. $main::form->{rowcount}) { + $update_query = qq|UPDATE parts SET partnumber = '| . $main::form->{"partnumber_$i"} . qq|' WHERE id = | . $main::form->{"partid_$i"}; + do_query($update_query); + print FH $i; + } + $dbh->commit(); + } + + my $query = qq|SELECT id, partnumber, description, unit, notes, assembly, ean, inventory_accno_id FROM parts pa WHERE (SELECT COUNT(*) FROM parts p @@ -38,12 +48,13 @@ sub do_update { $main::form->{PARTS} = []; while (my $ref = $sth->fetchrow_hashref("NAME_lc")) { + map {$ref->{$_} = $::locale->{iconv_utf8}->convert($ref->{$_})} keys %$ref; push @{ $main::form->{PARTS} }, $ref; } if ( scalar @{ $main::form->{PARTS} } > 0 ) { &print_error_message; - return 0; + return 2; } $query = qq|ALTER TABLE parts ADD UNIQUE (partnumber)|; diff --git a/templates/webpages/dbupgrade/erzeugnisnummern.html b/templates/webpages/dbupgrade/erzeugnisnummern.html index 6b465d00a..e5a7ec6bd 100644 --- a/templates/webpages/dbupgrade/erzeugnisnummern.html +++ b/templates/webpages/dbupgrade/erzeugnisnummern.html @@ -3,9 +3,12 @@
+

[% 'There are double partnumbers in your database.' | $T8 %]

-

[% 'From this version on the partnumer of articles and assemblies have to be unique.' | $T8 %]

+

[% 'From this version on the partnumber of services, articles and assemblies have to be unique.' | $T8 %]

+

[% 'So far you could use one partnumber for severel parts, for example a service and an article.' | $T8 %]

+

[% 'Because the useability gets worth if one partnumber is used for several parts (for example if you are searching a position for an invoice), partnumbers should be unique.' | $T8 %]

[% 'Please change the partnumber of the following parts and run the update again:' | $T8 %]

@@ -20,14 +23,19 @@ [% SET row_odd = '1' %][% FOREACH row = PARTS %] - + + - + + [% SET rowcount = loop.count %] [% END %] +
[% HTML.escape(row.partnumber) %] [% HTML.escape(row.description) %] [% HTML.escape(row.unit) %] [% HTML.escape(row.notes) %] [% HTML.escape(row.ean) %][% IF row.assembly %] [% 'assembly' | $T8 %] [% ELSE %] [% IF row.inventory_accno_id %] [% 'part' | $T8 %] [% ELSE %] [% 'service' %] [% END %] [% END %][% IF row.assembly %] [% 'assembly' | $T8 %] [% ELSE %] [% IF row.inventory_accno_id %] [% 'part' | $T8 %] [% ELSE %] [% 'service' | $T8 %] [% END %] [% END %]
+ +
-- 2.20.1