Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision a2a89add

Von Jan Büren vor fast 13 Jahren hinzugefügt

  • ID a2a89add4e8a0f1fc6e83ffd80fbad2c89aaf502
  • Vorgänger 993047ba
  • Nachfolger 6784f6d4

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.

Unterschiede anzeigen:

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}) {
......
327 326
  $h_item->finish();
328 327
  $h_item_stock->finish();
329 328

  
330
  ($null, $form->{department_id}) = split(/--/, $form->{department});
331 329

  
332 330
  # save DO record
333 331
  $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";
......
302 301

  
303 302
  $form->header();
304 303
  # Fix für Bug 1082 Erwartet wird: 'abteilungsNAME--abteilungsID'
305
  $form->{department} .= '--' . $form->{department_id};
306

  
304
  # und Erweiterung für Bug 1760:
305
  # Das war leider nur ein Teil-Fix, da das Verhalten den 'Erneuern'-Knopf
306
  # nicht überlebt. Konsequent jetzt auf L umgestellt 
307
  #   $ perldoc SL::Template::Plugin::L
308
  # Daher entsprechend nur die Anpassung in form_header
309
  # und in DO.pm gemacht. 4 Testfälle:
310
  # department_id speichern                 | i.O.
311
  # department_id lesen                     | i.O.
312
  # department leer überlebt erneuern       | i.O.
313
  # department nicht leer überlebt erneuern | i.O.
314
  # $main::lxdebug->message(0, 'ABTEILUNGS ID in form?' . $form->{department_id});
307 315
  print $form->parse_html_template('do/form_header');
308 316

  
309 317
  $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