From 1a0c73d30bcd5d1ceeeef5f84d94de466abf6fcc 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 f241cdfb7..8e126941b 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}) { @@ -326,7 +325,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 7924b05a2..4011c5e88 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"; @@ -301,8 +300,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