- # build in drop down list for pricesgroups
- # $sellprice_value setzt den Wert etwas unabhängiger von der Darstellung.
- # Hintergrund: Preisgruppen werden hier überprüft und neu berechnet.
- # Vorher wurde der ganze cgi->textfield Block zweimal identisch eingebaut, dass passiert
- # jetzt nach der Abfrage.
- my $sellprice_value;
- if ($form->{"prices_$i"}) {
- $column_data{sellprice_pg} = qq|<select name="sellprice_pg_$i" style="width: 8em">$form->{"prices_$i"}</select>|;
- $sellprice_value =($form->{"new_pricegroup_$i"} != $form->{"old_pricegroup_$i"})
- ? $form->format_amount(\%myconfig, $form->{"price_new_$i"}, $decimalplaces)
- : $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, $decimalplaces);
- } else {
- # for last row and report
- # set pricegroup drop down list from report menu
- if ($form->{"sellprice_$i"} != 0) {
- # remember the pricegroup_id in pricegroup_old
- # but don't overwrite it
- $form->{"pricegroup_old_$i"} = $form->{"pricegroup_id_$i"};
- my $default_option = $form->{"sellprice_$i"}.'--'.$form->{"pricegroup_id_$i"};
- $column_data{sellprice_pg} = NTI($cgi->popup_menu("sellprice_pg_$i", [ $default_option ], $default_option, { $default_option => $form->{"pricegroup_$i"} || '' }));
- } else {
- $column_data{sellprice_pg} = qq| |;
- }
- $sellprice_value = $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, $decimalplaces);
-
- }
- # Falls der Benutzer die Preise nicht anpassen sollte, wird das entsprechende
- # Textfield auf readonly gesetzt. Anm. von Sven: Manipulation der Preise ist
- # immer noch möglich, konsequenterweise sollten diese NUR aus der Datenbank
- # geholt werden.
- my $edit_prices = $main::auth->assert('edit_prices', 1);
- $column_data{sellprice} = (!$edit_prices)
- ? $cgi->textfield(-readonly => "readonly",
- -name => "sellprice_$i", -size => 10, -onBlur => "check_right_number_format(this)", -value => $sellprice_value)
- : $cgi->textfield(-name => "sellprice_$i", -size => 10, -onBlur => "check_right_number_format(this)", -value => $sellprice_value);
+ my $sellprice_value = $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, $decimalplaces);
+ my $edit_prices = $main::auth->assert('edit_prices', 1) && !$::form->{"active_price_source_$i"};
+ $column_data{sellprice} = (!$edit_prices)
+ ? $cgi->hidden( -name => "sellprice_$i", -id => "sellprice_$i", -value => $sellprice_value) . $sellprice_value
+ : $cgi->textfield(-name => "sellprice_$i", -id => "sellprice_$i", -size => 10, -onBlur => "check_right_number_format(this)", -value => $sellprice_value);