Revision 1a0c73d3
Von Jan Büren vor fast 13 Jahren hinzugefügt
SL/DO.pm | ||
---|---|---|
76 | 76 |
|
77 | 77 |
push @where, ($form->{type} eq 'sales_delivery_order' ? '' : 'NOT ') . qq|COALESCE(dord.is_sales, FALSE)|; |
78 | 78 |
|
79 |
my $department_id = (split /--/, $form->{department})[1]; |
|
80 |
if ($department_id) { |
|
79 |
if ($form->{department_id}) { |
|
81 | 80 |
push @where, qq|dord.department_id = ?|; |
82 |
push @values, conv_i($department_id);
|
|
81 |
push @values, conv_i($form->{department_id});
|
|
83 | 82 |
} |
84 | 83 |
|
85 | 84 |
if ($form->{project_id}) { |
... | ... | |
326 | 325 |
$h_item->finish(); |
327 | 326 |
$h_item_stock->finish(); |
328 | 327 |
|
329 |
($null, $form->{department_id}) = split(/--/, $form->{department}); |
|
330 | 328 |
|
331 | 329 |
# save DO record |
332 | 330 |
$query = |
bin/mozilla/do.pl | ||
---|---|---|
40 | 40 |
use SL::IS; |
41 | 41 |
use SL::ReportGenerator; |
42 | 42 |
use SL::WH; |
43 |
|
|
44 | 43 |
require "bin/mozilla/arap.pl"; |
45 | 44 |
require "bin/mozilla/common.pl"; |
46 | 45 |
require "bin/mozilla/invoice_io.pl"; |
... | ... | |
301 | 300 |
|
302 | 301 |
$form->header(); |
303 | 302 |
# Fix für Bug 1082 Erwartet wird: 'abteilungsNAME--abteilungsID' |
304 |
$form->{department} .= '--' . $form->{department_id}; |
|
305 |
|
|
303 |
# und Erweiterung für Bug 1760: |
|
304 |
# Das war leider nur ein Teil-Fix, da das Verhalten den 'Erneuern'-Knopf |
|
305 |
# nicht überlebt. Konsequent jetzt auf L umgestellt |
|
306 |
# $ perldoc SL::Template::Plugin::L |
|
307 |
# Daher entsprechend nur die Anpassung in form_header |
|
308 |
# und in DO.pm gemacht. 4 Testfälle: |
|
309 |
# department_id speichern | i.O. |
|
310 |
# department_id lesen | i.O. |
|
311 |
# department leer überlebt erneuern | i.O. |
|
312 |
# department nicht leer überlebt erneuern | i.O. |
|
313 |
# $main::lxdebug->message(0, 'ABTEILUNGS ID in form?' . $form->{department_id}); |
|
306 | 314 |
print $form->parse_html_template('do/form_header'); |
307 | 315 |
|
308 | 316 |
$main::lxdebug->leave_sub(); |
templates/webpages/do/form_header.html | ||
---|---|---|
1 | 1 |
[%- USE T8 %] |
2 |
[% USE HTML %][% USE LxERP %]<body onload="on_load()"> |
|
2 |
[%- USE HTML %] |
|
3 |
[%- USE LxERP %] |
|
4 |
[%- USE L %] |
|
5 |
<body onload="on_load()"> |
|
3 | 6 |
|
4 | 7 |
<script type="text/javascript" src="js/show_form_details.js"></script> |
5 | 8 |
<script type="text/javascript" src="js/show_history.js"></script> |
... | ... | |
201 | 204 |
<tr> |
202 | 205 |
<th align="right" nowrap>[% 'Department' | $T8 %]</th> |
203 | 206 |
<td colspan="3"> |
204 |
[%- IF delivered %] |
|
205 |
<input type="hidden" name="department" value="[% HTML.escape(department) %]"> |
|
206 |
[%- FOREACH row = ALL_DEPARTMENTS %] |
|
207 |
[% IF department == row.value %][% HTML.escape(row.description) %]--[% HTML.escape(row.id) %][% END %] |
|
208 |
[%- END %] |
|
209 |
[%- ELSE %] |
|
210 |
<select name="department" class="fixed_width"> |
|
211 |
<option></option> |
|
212 |
[%- FOREACH row = ALL_DEPARTMENTS %] |
|
213 |
<option[% IF department == row.value %] selected[% END %]>[% HTML.escape(row.description) %]--[% HTML.escape(row.id) %]</option> |
|
214 |
[%- END %] |
|
215 |
</select> |
|
216 |
[%- END %] |
|
217 |
</td> |
|
207 |
[% L.select_tag('department_id', L.options_for_select(ALL_DEPARTMENTS, default=department_id, title="description", with_empty=1), style='width: 250px', disabled => delivered )%] |
|
208 |
</td> |
|
218 | 209 |
</tr> |
219 | 210 |
[%- END %] |
220 | 211 |
|
Auch abrufbar als: Unified diff
Bugfix 1082 - 1760 Bei einem Lieferschein wird die Abteilung nicht mitgespeichert
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.