X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fio.pl;h=0fe78fd2a0e542287804aa79973daaaf7574283b;hb=342c174c0207e8d5d0ea0bd9b5eb7dc17c87d7b2;hp=9ae97391e324000174fc0dfd5d9ae39cb288f10b;hpb=195883fdfd3b10f329036767f027baa6e7c402b9;p=kivitendo-erp.git diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index 9ae97391e..0fe78fd2a 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -82,7 +82,6 @@ use Data::Dumper; sub display_row { $lxdebug->enter_sub(); my $numrows = shift; -print STDERR "io.pl-display_row\n"; if ($lizenzen && $form->{vc} eq "customer") { if ($form->{type} =~ /sales_order/) { @column_index = (runningnumber, partnumber, description, ship, qty); @@ -104,7 +103,10 @@ print STDERR "io.pl-display_row\n"; push @column_index, qw(unit); #for pricegroups column - if ($form->{type} =~ (/sales_quotation/) or (($form->{level} =~ /Sales/) and ($form->{type} =~ /invoice/)) or (($form->{level} eq undef) and ($form->{type} =~ /invoice/)) or ($form->{type} =~ /sales_order/)) { + if ( $form->{type} =~ (/sales_quotation/) + or (($form->{level} =~ /Sales/) and ($form->{type} =~ /invoice/)) + or (($form->{level} eq undef) and ($form->{type} =~ /invoice/)) + or ($form->{type} =~ /sales_order/)) { push @column_index, qw(sellprice_drag); } @@ -253,7 +255,9 @@ print STDERR "io.pl-display_row\n"; } $column_data{qty} = - qq|format_amount(\%myconfig, $form->{"qty_$i"},0).qq|>|; + qq|format_amount(\%myconfig, $form->{"qty_$i"}, 0) + . qq|>|; $column_data{ship} = qq|format_amount(\%myconfig, $form->{"ship_$i"}) @@ -261,41 +265,37 @@ print STDERR "io.pl-display_row\n"; $column_data{unit} = qq||; - - - #print (STDERR "io.pl---111-i-$i", Dumper($form->{PRICES})); # build in dragdrop for pricesgroups if ($form->{"prices_$i"}) { - print STDERR " YES prices\n"; - $price_tmp = $form->format_amount(\%myconfig, $form->{"price_new_$i"}, 2); + $price_tmp = + $form->format_amount(\%myconfig, $form->{"price_new_$i"}, 2); $column_data{sellprice_drag} = qq||; $column_data{sellprice} = qq||; } else { - print STDERR " NO prices\n"; + # for last row and report # set pricegroup dragdrop from report menu if ($form->{"sellprice_$i"} != 0) { -print STDERR " HIER NOCH FÜR RECHNUNGSAUFRUFE\n"; -print (STDERR "sellprice_$i ", Dumper($form->{"sellprice_$i"}), " pricegroup_id_$i ", Dumper($form->{"pricegroup_id_$i"})); $prices = - qq|\n|; + qq|\n|; $form->{"pricegroup_old_$i"} = $form->{"pricegroup_id_$i"}; $column_data{sellprice_drag} = qq||; - }else { - # for last row - $column_data{sellprice_drag} = - qq|format_amount(\%myconfig, $form->{"prices_$i"}, - $decimalplaces) - . qq|>|; - } + } else { + + # for last row + $column_data{sellprice_drag} = + qq|format_amount(\%myconfig, $form->{"prices_$i"}, + $decimalplaces) + . qq|>|; + } $column_data{sellprice} = qq|{"sellprice_$i"}), " pricegroup_i $decimalplaces) . qq|>|; } -#print (STDERR "io.pl---555-i-$i", Dumper($form->{"price_old_$i"})); $column_data{discount} = qq|format_amount(\%myconfig, $form->{"discount_$i"}) @@ -342,7 +341,8 @@ print (STDERR "sellprice_$i ", Dumper($form->{"sellprice_$i"}), " pricegroup_i {"pricegroup_old_$i"}> {"price_old_$i"}> -format_amount(\%myconfig,$form->{"price_new_$i"}).qq|> +format_amount(\%myconfig, $form->{"price_new_$i"}) . qq|> {"id_$i"}> {"inventory_accno_$i"}> @@ -416,35 +416,33 @@ print (STDERR "sellprice_$i ", Dumper($form->{"sellprice_$i"}), " pricegroup_i # build html-code for pricegroups in variable $form->{prices_$j} sub set_pricegroup { + my $rowcount = shift; $lxdebug->enter_sub(); -print STDERR "io.pl-set_pricegroup-i-$i\n"; - for $j (1 .. $i) { + for $j (1 .. $rowcount) { my $pricegroup_old = $form->{"pricegroup_old_$i"}; - if ($form->{PRICES}{ $j }) { + if ($form->{PRICES}{$j}) { $len = 0; $prices = ''; - $price = 0; - foreach $item (@{ $form->{PRICES}{ $j } }) { -print STDERR "TEST--i--$i--jjj-$j\n"; -# print STDERR "-VOR PREIS--$item->{price}--PREISGRUOP-$item->{pricegroup_id}\n"; - $price = $form->round_amount($myconfig, $item->{price},5); - $price = $form->format_amount($myconfig, $item->{price},2); - $price = $item->{price}; -# print STDERR "-NACH PREIS--$price--PREISGRUOP-$item->{pricegroup_id}\n"; + $price = 0; + foreach $item (@{ $form->{PRICES}{$j} }) { + $price = $form->round_amount($myconfig, $item->{price}, 5); + $price = $form->format_amount($myconfig, $item->{price}, 2); + $price = $item->{price}; $pricegroup_id = $item->{pricegroup_id}; $pricegroup = $item->{pricegroup}; + # build dragdrop for pricegroups $prices .= - qq|\n|; + qq|\n|; $len += 1; -# print STDERR "prices---$prices\n"; + # set new selectedpricegroup_id and prices for "Preis" if ($item->{selected}) { $form->{"pricegroup_old_$j"} = $pricegroup_id; - $form->{"price_new_$j"} = $price; - $form->{"sellprice_$j"} = $price; + $form->{"price_new_$j"} = $price; + $form->{"sellprice_$j"} = $price; } if ($len >= 1) { $form->{"prices_$j"} = $prices; @@ -452,13 +450,13 @@ print STDERR "TEST--i--$i--jjj-$j\n"; } } } - print (STDERR "", Dumper($form->{PRICES})); + + #print (STDERR "HIER", Dumper($prices) ); $lxdebug->leave_sub(); } sub select_item { $lxdebug->enter_sub(); -print STDERR "io.pl-select_item\n"; @column_index = qw(ndx partnumber description onhand sellprice); $column_data{ndx} = qq| |; @@ -510,11 +508,10 @@ print STDERR "io.pl-select_item\n"; } map { $ref->{$_} =~ s/\"/"/g } qw(partnumber description unit); -#sk tradediscount -print STDERR "TRADEDISCOUNT $ref->{sellprice}\n"; + + #sk tradediscount $ref->{sellprice} = $form->round_amount($ref->{sellprice} * (1 - $form->{tradediscount}), 2); -print STDERR "TRADEDISCOUNT $ref->{sellprice}\n"; $column_data{ndx} = qq||; $column_data{partnumber} = @@ -596,7 +593,7 @@ print STDERR "TRADEDISCOUNT $ref->{sellprice}\n"; sub item_selected { $lxdebug->enter_sub(); -print STDERR "io.pl-item_selected\n"; + # replace the last row with the checked row $i = $form->{rowcount}; $i = $form->{assembly_rows} if ($form->{item} eq 'assembly'); @@ -671,7 +668,7 @@ print STDERR "io.pl-item_selected\n"; IS->get_pricegroups_for_parts(\%myconfig, \%$form); # build up html code for prices_$i - set_pricegroup(); + set_pricegroup($form->{rowcount}); &display_form; @@ -748,11 +745,10 @@ sub new_item { sub display_form { $lxdebug->enter_sub(); -print STDERR "io.pl-display_form\n"; + # if we have a display_form if ($form->{display_form}) { &{"$form->{display_form}"}; -print STDERR " --------------------- exit\n"; exit; } if ( $form->{print_and_post} @@ -777,6 +773,13 @@ print STDERR " --------------------- exit\n"; $form->{second_run} = 1; $form->{action} = "display_form"; $form->{rowcount}--; + my $rowcount = $form->{rowcount}; + + # get pricegroups for parts + IS->get_pricegroups_for_parts(\%myconfig, \%$form); + + # build up html code for prices_$i + set_pricegroup($rowcount); $form->{resubmit} = 1; @@ -787,7 +790,7 @@ print STDERR " --------------------- exit\n"; $subroutine = "display_row"; if ($form->{item} eq 'part') { -print STDERR " part\n"; + #set preisgruppenanzahl $numrows = $form->{price_rows}; $subroutine = "price_row"; @@ -798,7 +801,6 @@ print STDERR " part\n"; $subroutine = "makemodel_row"; } if ($form->{item} eq 'assembly') { -print STDERR " assembly\n"; $numrows = ++$form->{price_rows}; $subroutine = "price_row"; @@ -814,7 +816,6 @@ print STDERR " assembly\n"; $subroutine = "assembly_row"; } if ($form->{item} eq 'service') { -print STDERR " service\n"; $numrows = ++$form->{price_rows}; $subroutine = "price_row"; @@ -828,16 +829,11 @@ print STDERR " service\n"; &form_footer; - # if ($form->{print_and_post}) { - # &display_form; - # } - $lxdebug->leave_sub(); } sub check_form { $lxdebug->enter_sub(); -print STDERR "io.pl-check_form\n"; my @a = (); my $count = 0; my @flds = ( @@ -940,19 +936,20 @@ print STDERR "io.pl-check_form\n"; } } - - #sk -print STDERR "LEVEL--$form->{level}\n"; -print STDERR "Type--$form->{type}\n"; + + #sk # if pricegroups - if ($form->{type} =~ (/sales_quotation/) or (($form->{level} =~ /Sales/) and ($form->{type} =~ /invoice/)) or (($form->{level} eq undef) and ($form->{type} =~ /invoice/)) or ($form->{type} =~ /sales_order/)) { - - # get pricegroups for parts - IS->get_pricegroups_for_parts(\%myconfig, \%$form); + if ( $form->{type} =~ (/sales_quotation/) + or (($form->{level} =~ /Sales/) and ($form->{type} =~ /invoice/)) + or (($form->{level} eq undef) and ($form->{type} =~ /invoice/)) + or ($form->{type} =~ /sales_order/)) { + + # get pricegroups for parts + IS->get_pricegroups_for_parts(\%myconfig, \%$form); + + # build up html code for prices_$i + set_pricegroup($form->{rowcount}); - # build up html code for prices_$i - set_pricegroup(); - } &display_form; @@ -1000,7 +997,7 @@ sub invoicetotal { sub validate_items { $lxdebug->enter_sub(); -print STDERR "io.pl-validate_items\n"; + # check if items are valid if ($form->{rowcount} == 1) { &update; @@ -1017,11 +1014,12 @@ print STDERR "io.pl-validate_items\n"; sub order { $lxdebug->enter_sub(); - + if ($form->{second_run}) { + $form->{print_and_post} = 0; + } $form->{ordnumber} = $form->{invnumber}; map { delete $form->{$_} } qw(id printed emailed queued); - if ($form->{script} eq 'ir.pl' || $form->{type} eq 'request_quotation') { $form->{title} = $locale->text('Add Purchase Order'); $form->{vc} = 'vendor'; @@ -1070,7 +1068,9 @@ sub order { sub quotation { $lxdebug->enter_sub(); - + if ($form->{second_run}) { + $form->{print_and_post} = 0; + } map { delete $form->{$_} } qw(id printed emailed queued); if ($form->{script} eq 'ir.pl' || $form->{type} eq 'purchase_order') { @@ -1122,7 +1122,10 @@ sub quotation { sub e_mail { $lxdebug->enter_sub(); - + if ($form->{second_run}) { + $form->{print_and_post} = 0; + $form->{resubmit} = 0; + } if ($myconfig{role} eq 'admin') { $bcc = qq| | . $locale->text('Bcc') . qq| @@ -1234,7 +1237,6 @@ sub send_email { sub print_options { $lxdebug->enter_sub(); -print STDERR "io.pl-print_options\n"; $form->{sendmode} = "attachment"; $form->{copies} = 3 unless $form->{copies}; @@ -1391,7 +1393,10 @@ print STDERR "io.pl-print_options\n"; sub print { $lxdebug->enter_sub(); -print STDERR "io.pl-print\n"; + if ($form->{second_run}) { + $form->{print_and_post} = 0; + } + # if this goes to the printer pass through if ($form->{media} eq 'printer' || $form->{media} eq 'queue') { $form->error($locale->text('Select postscript or PDF!')) @@ -1409,10 +1414,9 @@ print STDERR "io.pl-print\n"; sub print_form { $lxdebug->enter_sub(); my ($old_form) = @_; -print STDERR "io.pl-print_form\n"; - $inv = "inv"; - $due = "due"; -#print (STDERR "", Dumper($form)); + + $inv = "inv"; + $due = "due"; $numberfld = "invnumber"; $display_form = @@ -1504,13 +1508,12 @@ print STDERR "io.pl-print_form\n"; if (!$form->{"${inv}number"} && !$form->{preview}) { $form->{"${inv}number"} = $form->update_defaults(\%myconfig, $numberfld); if ($form->{media} ne 'email') { - - $i = $form->{rowcount}; - # get pricegroups for parts - IS->get_pricegroups_for_parts(\%myconfig, \%$form); - # build up html code for prices_$i - set_pricegroup(); + # get pricegroups for parts + IS->get_pricegroups_for_parts(\%myconfig, \%$form); + + # build up html code for prices_$i + set_pricegroup($form->{rowcount}); $form->{rowcount}--; @@ -1709,7 +1712,6 @@ print STDERR "io.pl-print_form\n"; sub customer_details { $lxdebug->enter_sub(); -print STDERR "io.pl-customer_details\n"; IS->customer_details(\%myconfig, \%$form); $lxdebug->leave_sub(); } @@ -1735,14 +1737,16 @@ sub post_as_new { sub ship_to { $lxdebug->enter_sub(); -print STDERR "io.pl-ship_to\n"; + if ($form->{second_run}) { + $form->{print_and_post} = 0; + } + $title = $form->{title}; $form->{title} = $locale->text('Ship to'); map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining); - # get details for name &{"$form->{vc}_details"}; @@ -1751,12 +1755,11 @@ print STDERR "io.pl-ship_to\n"; ? $locale->text('Customer Number') : $locale->text('Vendor Number'); - $i = $form->{rowcount}; # get pricegroups for parts IS->get_pricegroups_for_parts(\%myconfig, \%$form); # build up html code for prices_$i - set_pricegroup(); + set_pricegroup($form->{rowcount}); $nextsub = ($form->{display_form}) ? $form->{display_form} : "display_form";