Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 7d2700f0

Von Bernd Bleßmann vor mehr als 6 Jahren hinzugefügt

  • ID 7d2700f0edb70d315c024a652ad4c3ab59f04543
  • Vorgänger 2e9dddf1
  • Nachfolger ec77bc78

Auftrags-Controller: Null-Werte in Eingabezeile von leer unterscheiden.

Die Idee war, bei einem leeren Wert in der Eingabezeile ein default zu
nehmen (Menge => 1, Preis => "bester" Preis, Rabatt => "bester" Rabatt).

Bisher wurde aber nicht zwischen leer und 0 bzw. 0,00 unterschieden, so dass
dann auch die default-Werte genommen wurden.
Das wird jetzt unterschieden.

Unterschiede anzeigen:

SL/Controller/Order.pm
1193 1193
  my ($record, $attr) = @_;
1194 1194

  
1195 1195
  my $item = SL::DB::OrderItem->new;
1196

  
1197
  # Remove attributes where the user left or set the inputs empty.
1198
  # So these attributes will be undefined and we can distinguish them
1199
  # from zero later on.
1200
  for (qw(qty_as_number sellprice_as_number discount_as_percent)) {
1201
    delete $attr->{$_} if $attr->{$_} eq '';
1202
  }
1203

  
1196 1204
  $item->assign_attributes(%$attr);
1197 1205

  
1198 1206
  my $part         = SL::DB::Part->new(id => $attr->{parts_id})->load;
......
1205 1213
    # add assortment items with price 0, as the components carry the price
1206 1214
    $price_src = $price_source->price_from_source("");
1207 1215
    $price_src->price(0);
1208
  } elsif ($item->sellprice) {
1216
  } elsif (defined $item->sellprice) {
1209 1217
    $price_src = $price_source->price_from_source("");
1210 1218
    $price_src->price($item->sellprice);
1211 1219
  } else {
......
1216 1224
  }
1217 1225

  
1218 1226
  my $discount_src;
1219
  if ($item->discount) {
1227
  if (defined $item->discount) {
1220 1228
    $discount_src = $price_source->discount_from_source("");
1221 1229
    $discount_src->discount($item->discount);
1222 1230
  } else {

Auch abrufbar als: Unified diff