X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fis.pl;h=7d79ba9f2bd5529583c11ef9e3d11f66b394bedb;hb=3b70aa32804322bac3c6244e123cea997b14786f;hp=31d017eefc919a2edde0031a09812a1fc6310da9;hpb=195883fdfd3b10f329036767f027baa6e7c402b9;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index 31d017eef..7d79ba9f2 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -67,7 +67,7 @@ sub add { sub edit { $lxdebug->enter_sub(); -print STDERR "is.pl-edit\n"; + $form->{title} = $locale->text('Edit Sales Invoice'); if ($myconfig{acs} =~ "AR--Add Sales Invoice" || $myconfig{acs} =~ "AR--AR") @@ -84,7 +84,7 @@ print STDERR "is.pl-edit\n"; sub invoice_links { $lxdebug->enter_sub(); -print STDERR "is.pl-invoice_links\n"; + $form->{vc} = 'customer'; # create links @@ -184,7 +184,7 @@ print STDERR "is.pl-invoice_links\n"; sub prepare_invoice { $lxdebug->enter_sub(); -print STDERR "is.pl-prepare_invoice\n"; + $form->{type} = "invoice"; $form->{formname} = "invoice"; $form->{format} = "html"; @@ -195,8 +195,8 @@ print STDERR "is.pl-prepare_invoice\n"; map { $form->{$_} =~ s/\"/"/g } qw(invnumber ordnumber quonumber shippingpoint shipvia notes intnotes); -# # get pricegroups for parts -# IS->get_pricegroups_for_parts(\%myconfig, \%$form); + # # get pricegroups for parts + # IS->get_pricegroups_for_parts(\%myconfig, \%$form); foreach $ref (@{ $form->{invoice_details} }) { $i++; @@ -210,15 +210,17 @@ print STDERR "is.pl-prepare_invoice\n"; $form->{"sellprice_$i"} = $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, $decimalplaces); - $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}); + + (my $dec_qty) = ($form->{"qty_$i"} =~ /\.(\d+)/); + $dec_qty = length $dec_qty; + + $form->{"qty_$i"} = + $form->format_amount(\%myconfig, $form->{"qty_$i"}, $dec_qty); map { $form->{"${_}_$i"} =~ s/\"/"/g } qw(partnumber description unit partnotes); $form->{rowcount} = $i; -# # build up html code for prices_$i -# print STDERR "set_pricegroup aus is.pl-prepare_invoice\n"; -# set_pricegroup(); } } $lxdebug->leave_sub(); @@ -226,7 +228,7 @@ print STDERR "is.pl-prepare_invoice\n"; sub form_header { $lxdebug->enter_sub(); -print STDERR "is.pl-form_header\n"; + # set option selected foreach $item (qw(AR customer currency department employee contact)) { $form->{"select$item"} =~ s/ selected//; @@ -522,7 +524,7 @@ $jsscript sub form_footer { $lxdebug->enter_sub(); -print STDERR "is.pl-form_footer\n"; + $form->{invtotal} = $form->{invsubtotal}; if (($rows = $form->numtextrows($form->{notes}, 26, 8)) < 2) { @@ -860,10 +862,12 @@ print STDERR "is.pl-form_footer\n"; sub update { $lxdebug->enter_sub(); -print STDERR "is.pl-update\n"; + map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(exchangerate creditlimit creditremaining); - + if ($form->{second_run}) { + $form->{print_and_post} = 0; + } &check_name(customer); &check_project; @@ -924,7 +928,7 @@ print STDERR "is.pl-update\n"; } else { $sellprice = $form->format_amount(\%myconfig, $form->{"sellprice_$i"}); -#print STDERR " SELLPRICE-111- $sellprice\n"; + map { $form->{item_list}[$i]{$_} =~ s/\"/"/g } qw(partnumber description unit); map { $form->{"${_}_$i"} = $form->{item_list}[0]{$_} } @@ -982,10 +986,10 @@ print STDERR "is.pl-update\n"; } # get pricegroups for parts - IS->get_pricegroups_for_parts(\%myconfig, \%$form, "new"); + IS->get_pricegroups_for_parts(\%myconfig, \%$form); # build up html code for prices_$i - set_pricegroup(); + &set_pricegroup($i); } &display_form; @@ -1016,7 +1020,6 @@ print STDERR "is.pl-update\n"; sub post { $lxdebug->enter_sub(); -print STDERR "is.pl-post\n"; $form->isblank("invdate", $locale->text('Invoice Date missing!')); $form->isblank("customer", $locale->text('Customer missing!')); @@ -1025,6 +1028,9 @@ print STDERR "is.pl-post\n"; &update; exit; } + if ($form->{second_run}) { + $form->{print_and_post} = 0; + } &validate_items; @@ -1085,6 +1091,7 @@ sub print_and_post { $print_post = 1; $form->{print_and_post} = 1; &post(); + &display_form(); $lxdebug->leave_sub(); @@ -1105,7 +1112,9 @@ sub preview { sub delete { $lxdebug->enter_sub(); - + if ($form->{second_run}) { + $form->{print_and_post} = 0; + } $form->header; print qq|