X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/766f5705ecb9cd56adfbffd94c871959bb64c6fd..fd041aff03f8c1a948a6b38eee43224c05b909ec:/bin/mozilla/ic.pl diff --git a/bin/mozilla/ic.pl b/bin/mozilla/ic.pl index 3a97c8ecf..906693126 100644 --- a/bin/mozilla/ic.pl +++ b/bin/mozilla/ic.pl @@ -288,12 +288,9 @@ sub update_prices { # $form->header; # # print qq| +#

| . $locale->text('choice part') . qq|

#
# -# -# -# -# # # # @@ -722,11 +719,9 @@ sub addtop100 { my $colspan = $#column_index + 1; print qq| +

$form->{title}

+
| . $locale->text('choice part') . qq|
 | . $locale->text('Part Number') . qq|
- - - - @@ -1046,6 +1041,7 @@ sub generate_report { 'sellprice' => { 'text' => $locale->text('Sell Price'), }, 'serialnumber' => { 'text' => $locale->text('Serial Number'), }, 'soldtotal' => { 'text' => $locale->text('Qty in Selected Records'), }, + 'name' => { 'text' => $locale->text('Name in Selected Records'), }, 'transdate' => { 'text' => $locale->text('Transdate'), }, 'unit' => { 'text' => $locale->text('Unit'), }, 'weight' => { 'text' => $locale->text('Weight'), }, @@ -1211,7 +1207,11 @@ sub generate_report { flash('warning', $::locale->text('Soldtotal does not make sense without any bsooqr options')); } + if ($form->{l_name} && !$bsooqr_mode) { + delete $form->{l_name}; + flash('warning', $::locale->text('Name does not make sense without any bsooqr options')); + } IC->all_parts(\%myconfig, \%$form); my @columns = qw( @@ -1628,7 +1628,9 @@ sub form_header { $form->{CUSTOM_VARIABLES} = CVar->get_custom_variables('module' => 'IC', 'trans_id' => $form->{id}); - CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}, show_disabled_message => 1) + my ($null, $partsgroup_id) = split /--/, $form->{partsgroup}; + + CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}, show_disabled_message => 1, partsgroup_id => $partsgroup_id) if (scalar @{ $form->{CUSTOM_VARIABLES} }); $::request->layout->use_javascript("${_}.js") for qw(ckeditor/ckeditor ckeditor/adapters/jquery); @@ -1785,9 +1787,20 @@ sub update { $auth->assert('part_service_assembly_edit'); + # update checks whether pricegroups, makemodels or assembly items have been changed/added + # new items might have been added (and the original form might have been stored and restored) + # so at the end the ic form is run through check_form in io.pl + # The various combination of events can lead to problems with the order of parse_amount and format_amount + # Currently check_form parses some variables in assembly mode, but not in article or service mode + # This will only ever really be sanely resolved with a rewrite... + # parse pricegroups. and no, don't rely on check_form for this... map { $form->{"price_$_"} = $form->parse_amount(\%myconfig, $form->{"price_$_"}) } 1 .. $form->{price_rows}; - $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) for qw(sellprice listprice ve gv); + + unless ($form->{item} eq 'assembly') { + # for assemblies check_form will parse sellprice and listprice, but not for parts or services + $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) for qw(sellprice listprice ve gv); + }; if ($form->{item} eq 'part') { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) for qw(weight rop); @@ -1807,13 +1820,16 @@ sub update { if ( ($form->{"partnumber_$i"} eq "") && ($form->{"description_$i"} eq "") && ($form->{"partsgroup_$i"} eq "")) { + # no new assembly item was added &check_form; } else { - + # search db for newly added assemblyitems, via partnumber or description IC->assembly_item(\%myconfig, \%$form); + # form->{item_list} contains the possible matches, next check whether the + # match is unique or we need to call the page to select the item my $rows = scalar @{ $form->{item_list} }; if ($rows) {
$form->{title}
$option