From 5f0a5514943bce086319e6f02b31808874e680eb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sven=20Sch=C3=B6ling?= Date: Fri, 13 Jun 2008 14:19:11 +0000 Subject: [PATCH] Migrationsfaehigkeit im Warenhausupdate --- locale/de/all | 7 ++ .../{warehouse.sql => warehouse.pl} | 82 ++++++++++++++++++- .../webpages/dbupgrade/warehouse_form_de.html | 19 +++++ .../dbupgrade/warehouse_form_master.html | 19 +++++ 4 files changed, 123 insertions(+), 4 deletions(-) rename sql/Pg-upgrade2/{warehouse.sql => warehouse.pl} (66%) create mode 100644 templates/webpages/dbupgrade/warehouse_form_de.html create mode 100644 templates/webpages/dbupgrade/warehouse_form_master.html diff --git a/locale/de/all b/locale/de/all index 0c068c465..d56440b95 100644 --- a/locale/de/all +++ b/locale/de/all @@ -180,6 +180,7 @@ $self->{texts} = { aktualisieren wollen?', 'Article Code' => 'Artikelkürzel', 'Article Code missing!' => 'Artikelkürzel fehlt', + 'As a result, the saved onhand values of the present goods can be stored into a warehouse designated by you, or will be reset for a proper warehouse tracking' => 'Als Konsequenz können die gespeicherten Mengen entweder in ein Lager überführt werden, oder für eine frische Lagerverwaltung resettet werden.', 'Assemblies' => 'Erzeugnisse', 'Assembly Number missing!' => 'Erzeugnisnummer fehlt!', 'Asset' => 'Aktiva/Mittelverwendung', @@ -478,6 +479,7 @@ aktualisieren wollen?', 'Do you want Lx-Office to create a group for access to all functions?' => 'Wollen Sie, dass Lx-Office eine Gruppe mit Zugriff auf alle Funktionen anlegt?', 'Do you want to limit your search?' => 'Wollen Sie Ihre Suche spezialisieren?', 'Do you want to carry this shipping address over to the new purchase order so that the vendor can deliver the goods directly to your customer?' => 'Wollen Sie diese Lieferadresse in den neuen Lieferantenauftrag übernehmen, damit der Händler die Waren direkt an Ihren Kunden liefern kann?', + 'Do you want to store the existing onhand values into a new warehouse?' => 'Möchten Sie die vorhandenen Mengendaten in ein Lager übertragen?', 'Documents in the WebDAV repository' => 'Dokumente im WebDAV-Repository', 'Done' => 'Fertig', 'Download the backup' => 'Die Sicherungsdatei herunterladen', @@ -843,6 +845,7 @@ aktualisieren wollen?', 'Lx-Office 2.4.0 introduces two new concepts: tax zones and Buchungsgruppen.' => 'Lx-Office 2.4.0 führt zwei neue Konzepte ein: Steuerzonen und Buchungsgruppen.', 'Lx-Office has been switched to group-based access restrictions.' => 'Lx-Office wurde auf eine gruppenbasierte Benutzerzugriffsverwaltung umgestellt.', 'Lx-Office is about to update the database [% HTML.escape(dbname) %]. You should create a backup of the database before proceeding because the backup might not be reversible.' => 'Lx-Office wird gleich die Datenbank [% HTML.escape(dbname) %] aktualisieren. Sie sollten eine Sicherungskopie der Datenbank erstellen, bevor Sie fortfahren, da die Aktualisierung unter Umständen nicht umkehrbar ist.', + 'Lx-Office is now able to manage warehouses instead of just tracking the amount of goods in your system.' => 'Lx-Office enthält jetzt auch echte Lagerverwaultung anstatt reiner Mengenzählung.', 'Lx-Office website' => 'Lx-Office-Webseite', 'MAILED' => 'Gesendet', 'MSG_BROWSER_DOES_NOT_SUPPORT_IFRAMES' => 'Ihr Browser kann leider keine eingebetteten Frames anzeigen. Bitte wählen Sie ein anderes Menü in der Benutzerkonfiguration im Administrationsmenü aus.', @@ -1050,6 +1053,7 @@ aktualisieren wollen?', 'Please select the chart of accounts this installation is using from the list below.' => 'Bitte wählen Sie den Kontenrahmen aus, der bei dieser Installation verwendet wird.', 'Please select the database you want to backup' => 'Bitte wählen Sie die zu sichernde Datenbank gefunden', 'Please seletct the dataset you want to delete:' => 'Bitte wählen Sie die zu löschende Datenbank aus:', + 'Please specify a description for the warehouse designated for these goods.' => 'Bitte geben Sie den Namen des Ziellagers für die übernommenen Daten ein.', 'Plural' => 'Plural', 'Port' => 'Port', 'Portrait' => 'Hochformat', @@ -1262,6 +1266,7 @@ aktualisieren wollen?', 'Show overdue sales quotations...' => 'Zeige überfällige Angebote...', 'Show your TODO list after loggin in' => 'Aufgabenliste nach dem Anmelden anzeigen', 'Signature' => 'Unterschrift', + 'Since bin is not enforced in the parts data, please specify a bin where goods without a specified bin will be put.' => 'Da Lagerplätze kein Pflichtfeld sind, geben Sie bitte einen Lagerplatz an, in dem Waren ohne spezifizierten Lagerplatz eingelagert werden sollen.', 'Skip' => 'Überspringen', 'Skonto' => 'Skonto', 'Skonto Terms' => 'Zahlungsziel Skonto', @@ -1458,6 +1463,7 @@ aktualisieren wollen?', 'This group will be called "Full Access".' => 'Diese Gruppe wird "Vollzugriff" genannt.', 'This installation uses an unknown chart of accounts ("[% HTML.escape(coa) %]"). This database upgrade cannot create standard buchungsgruppen automatically.' => 'Diese Installation benutzt einen unbekannten Kontenrahmen ("[% HTML.escape(coa) %]"). Dieses Datenbankupgrade kann die Standardbuchungsgruppen nicht automatisch anlegen.', 'This is a preliminary check for existing sources. Nothing will be created or deleted at this stage!' => 'In diesem Schritt werden bestehende Datenbanken gesucht. Es werden noch keine Änderungen vorgenommen!', + 'This update will change the nature the onhand of goods is tracked.' => 'Dieses update ändert die Art und Weise wie Lagermengen gezält werden.', 'This upgrade script tries to map all existing parts in the database to the newly created Buchungsgruppen.' => 'Dieses Upgradescript versucht, bei allen bestehenden Artikeln neu erstellte Buchungsgruppen zuzuordnen.', 'This upgrade script tries to map all existing units in the database to the newly created units.' => 'Dieses Update-Script versucht, alle bestehenden Einheiten automatisch in die neuen Einheiten umzuwandeln.', 'This vendor number is already in use.' => 'Diese Lieferantennummer wird bereits verwendet.', @@ -1570,6 +1576,7 @@ aktualisieren wollen?', 'WHJournal' => 'Lagerbuchungen', 'Warehouse' => 'Lager', 'Warehouse From' => 'Quelllager', + 'Warehouse MIgration' => 'Lagermigration', 'Warehouse To' => 'Ziellager', 'Warehouse content' => 'Lagerbestand', 'Warehouse deleted.' => 'Lager gelöscht.', diff --git a/sql/Pg-upgrade2/warehouse.sql b/sql/Pg-upgrade2/warehouse.pl similarity index 66% rename from sql/Pg-upgrade2/warehouse.sql rename to sql/Pg-upgrade2/warehouse.pl index 39db42b7a..5fad05839 100644 --- a/sql/Pg-upgrade2/warehouse.sql +++ b/sql/Pg-upgrade2/warehouse.pl @@ -1,7 +1,70 @@ --- @tag: warehouse --- @description: Diverse neue Tabellen und Spalten zur Mehrlagerfähigkeit --- @depends: release_2_4_3 - +# @tag: warehouse +# @description: Diverse neue Tabellen und Spalten zur Mehrlagerfähigkeit inkl. Migration +# @depends: release_2_4_3 + + +die("This script cannot be run from the command line.") unless ($main::form); +$do_sql_migration = 0; + +sub print_question { + print $main::form->parse_html_template("dbupgrade/warehouse_form"); +} + +sub do_update { + if (!$main::form->{do_migrate} + && (selectfirst_array_query($main::form, $dbh, $check_sql))[0]) { # check if update is needed + print_question(); + return 2; + } else { + if ($main::form->{do_migrate} eq 'Y') { + # if yes, both warehouse and bin must be given + if (!$main::form->{import_warehouse} || !$main::form->{bin_default}) { + print_question(); + return 2; + } + # flag for extra code + $do_sql_migration = 1; + } + } + my $warehouse = $main::form->{import_warehouse} ne '' ? $main::form->{import_warehouse} : "Transfer"; + my $bin = $main::form->{bin_default} ne '' ? $main::form->{bin_default} : "1"; + + + my $migration_code = < 0; ALTER TABLE parts DROP COLUMN onhand; ALTER TABLE parts ADD COLUMN onhand numeric(25,5); UPDATE parts SET onhand = COALESCE((SELECT SUM(qty) FROM inventory WHERE inventory.parts_id = parts.id), 0); @@ -114,4 +179,13 @@ END; CREATE TRIGGER trig_update_onhand AFTER INSERT OR UPDATE OR DELETE ON inventory FOR EACH ROW EXECUTE PROCEDURE update_onhand(); +EOF +; + + +$check_sql = < 0; +EOF +; +return do_update(); diff --git a/templates/webpages/dbupgrade/warehouse_form_de.html b/templates/webpages/dbupgrade/warehouse_form_de.html new file mode 100644 index 000000000..8bd75b0fb --- /dev/null +++ b/templates/webpages/dbupgrade/warehouse_form_de.html @@ -0,0 +1,19 @@ +[% USE HTML %]
Lagermigration
+ +
+ +

Lx-Office enthält jetzt auch echte Lagerverwaultung anstatt reiner Mengenzählung. +Dieses update ändert die Art und Weise wie Lagermengen gezält werden. +Als Konsequenz können die gespeicherten Mengen entweder in ein Lager überführt werden, oder für eine frische Lagerverwaltung resettet werden.

+ +

Möchten Sie die vorhandenen Mengendaten in ein Lager übertragen?

+  +  + +

Bitte geben Sie den Namen des Ziellagers für die übernommenen Daten ein.

+ + +

Da Lagerplätze kein Pflichtfeld sind, geben Sie bitte einen Lagerplatz an, in dem Waren ohne spezifizierten Lagerplatz eingelagert werden sollen.

+ + +

diff --git a/templates/webpages/dbupgrade/warehouse_form_master.html b/templates/webpages/dbupgrade/warehouse_form_master.html new file mode 100644 index 000000000..6e6b31289 --- /dev/null +++ b/templates/webpages/dbupgrade/warehouse_form_master.html @@ -0,0 +1,19 @@ +[% USE HTML %]
Warehouse MIgration
+ + + +

Lx-Office is now able to manage warehouses instead of just tracking the amount of goods in your system. +This update will change the nature the onhand of goods is tracked. +As a result, the saved onhand values of the present goods can be stored into a warehouse designated by you, or will be reset for a proper warehouse tracking

+ +

Do you want to store the existing onhand values into a new warehouse?

+  +  + +

Please specify a description for the warehouse designated for these goods.

+ + +

Since bin is not enforced in the parts data, please specify a bin where goods without a specified bin will be put.

+ + +

-- 2.20.1