Revision 7d2700f0
Von Bernd Bleßmann vor mehr als 6 Jahren hinzugefügt
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
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.