From a2a89add4e8a0f1fc6e83ffd80fbad2c89aaf502 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20B=C3=BCren?= Date: Tue, 10 Jan 2012 15:53:06 +0100 Subject: [PATCH] Bugfix 1082 - 1760 Bei einem Lieferschein wird die Abteilung nicht mitgespeichert MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Der commit e69e3657, hat leider nur den Teil beim erstmaligen Anzeigen des Lieferscheins mit frischen Werten aus der Datenbank behoben, dafür aber das Verhalten bei update der Maske (Klick auf Erneuern) zerstört. Jetzt konsequent von dem sehr alten Verhalten description--id, mit Hilfe von L-Helfer-Funktionen umgestellt. --- SL/DO.pm | 6 ++---- bin/mozilla/do.pl | 14 +++++++++++--- templates/webpages/do/form_header.html | 21 ++++++--------------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/SL/DO.pm b/SL/DO.pm index 8e4136172..8d61b0f1f 100644 --- a/SL/DO.pm +++ b/SL/DO.pm @@ -76,10 +76,9 @@ sub transactions { push @where, ($form->{type} eq 'sales_delivery_order' ? '' : 'NOT ') . qq|COALESCE(dord.is_sales, FALSE)|; - my $department_id = (split /--/, $form->{department})[1]; - if ($department_id) { + if ($form->{department_id}) { push @where, qq|dord.department_id = ?|; - push @values, conv_i($department_id); + push @values, conv_i($form->{department_id}); } if ($form->{project_id}) { @@ -327,7 +326,6 @@ sub save { $h_item->finish(); $h_item_stock->finish(); - ($null, $form->{department_id}) = split(/--/, $form->{department}); # save DO record $query = diff --git a/bin/mozilla/do.pl b/bin/mozilla/do.pl index 9e709356f..17b9fcc1d 100644 --- a/bin/mozilla/do.pl +++ b/bin/mozilla/do.pl @@ -40,7 +40,6 @@ use SL::IR; use SL::IS; use SL::ReportGenerator; use SL::WH; - require "bin/mozilla/arap.pl"; require "bin/mozilla/common.pl"; require "bin/mozilla/invoice_io.pl"; @@ -302,8 +301,17 @@ sub form_header { $form->header(); # Fix für Bug 1082 Erwartet wird: 'abteilungsNAME--abteilungsID' - $form->{department} .= '--' . $form->{department_id}; - + # und Erweiterung für Bug 1760: + # Das war leider nur ein Teil-Fix, da das Verhalten den 'Erneuern'-Knopf + # nicht überlebt. Konsequent jetzt auf L umgestellt + # $ perldoc SL::Template::Plugin::L + # Daher entsprechend nur die Anpassung in form_header + # und in DO.pm gemacht. 4 Testfälle: + # department_id speichern | i.O. + # department_id lesen | i.O. + # department leer überlebt erneuern | i.O. + # department nicht leer überlebt erneuern | i.O. + # $main::lxdebug->message(0, 'ABTEILUNGS ID in form?' . $form->{department_id}); print $form->parse_html_template('do/form_header'); $main::lxdebug->leave_sub(); diff --git a/templates/webpages/do/form_header.html b/templates/webpages/do/form_header.html index a83a2b91e..b41ea72d4 100644 --- a/templates/webpages/do/form_header.html +++ b/templates/webpages/do/form_header.html @@ -1,5 +1,8 @@ [%- USE T8 %] -[% USE HTML %][% USE LxERP %] +[%- USE HTML %] +[%- USE LxERP %] +[%- USE L %] + @@ -201,20 +204,8 @@ [% 'Department' | $T8 %] - [%- IF delivered %] - - [%- FOREACH row = ALL_DEPARTMENTS %] - [% IF department == row.value %][% HTML.escape(row.description) %]--[% HTML.escape(row.id) %][% END %] - [%- END %] - [%- ELSE %] - - [%- END %] - + [% L.select_tag('department_id', L.options_for_select(ALL_DEPARTMENTS, default=department_id, title="description", with_empty=1), style='width: 250px', disabled => delivered )%] + [%- END %] -- 2.20.1