Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 26dfef7d

Von Jan Büren vor mehr als 8 Jahren hinzugefügt

  • ID 26dfef7da64e9712db783fb666bb6af80b89675e
  • Vorgänger 263971ba
  • Nachfolger 96caf7a5

do.pl sort Funktion verbessert

parse_amount/format_amount Problem bei Nachkommastellen.
Hintergrund: Ein save mit no_redirect wird benötigt, damit
ein erneutes Update die Reihenfolge auch an der Oberfläche anzeigt.
Leider wird save somit zweimal aufgerufen und damit auch 2x parse_amount
Entsprechend zwischendrin einmal mit format_amount wieder ausgeglichen.

Unterschiede anzeigen:

bin/mozilla/do.pl
1796 1796
  # hashify partnumbers, positions. key is delivery_order_items_id
1797 1797
  for my $i (1 .. ($form->{rowcount}) ) {
1798 1798
    $temp_hash{$form->{"delivery_order_items_id_$i"}} = { runningnumber => $form->{"runningnumber_$i"}, partnumber => $form->{"partnumber_$i"} };
1799
    if ($form->{id} && $form->{"discount_$i"}) {
1800
      # prepare_order assumes a db value if there is a form->id and multiplies *100
1801
      # We hope for new controller code (no more format_amount/parse_amount distinction)
1802
      $form->{"discount_$i"} /=100;
1803
    }
1799 1804
  }
1800 1805
  # naturally sort partnumbers and get a sorted array of doi_ids
1801 1806
  my @sorted_doi_ids =  sort { Sort::Naturally::ncmp($temp_hash{$a}->{"partnumber"}, $temp_hash{$b}->{"partnumber"}) }  keys %temp_hash;
......
1807 1812
    $form->{"runningnumber_$temp_hash{$_}->{runningnumber}"} = $new_number;
1808 1813
    $new_number++;
1809 1814
  }
1815
  # all parse_amounts changes are in form (i.e. , to .) therefore we need
1816
  # another format_amount to change it back, for the next save ;-(
1817
  # works great except for row discounts (see above comment)
1818
  prepare_order();
1819

  
1820

  
1810 1821
    $main::lxdebug->leave_sub();
1811 1822
    save();
1812 1823
}

Auch abrufbar als: Unified diff