X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fis.pl;h=879d3d1b3746cbca30aeee3179b3ec25db01ff34;hb=c62ddafe32128a30ea9247568858d344ed6d5655;hp=c6afe176c045efd7ae43d4774bf8cf3a6f20fe8d;hpb=7933b6bd762c5bac0f0a6bc401ede33c30ece67b;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index c6afe176c..879d3d1b3 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -44,8 +44,18 @@ require "$form->{path}/arap.pl"; sub add { $lxdebug->enter_sub(); + + if ($form->{type} eq "credit_note") { + $form->{title} = $locale->text('Add Credit Note'); + + if ($form->{storno}) { + $form->{title} = $locale->text('Add Storno Credit Note'); + } + } else { + $form->{title} = $locale->text('Add Sales Invoice'); + + } - $form->{title} = $locale->text('Add Sales Invoice'); $form->{callback} = "$form->{script}?action=add&type=$form->{type}&login=$form->{login}&path=$form->{path}&password=$form->{password}" @@ -57,9 +67,10 @@ sub add { { $form->error("Access Denied"); } - &invoice_links; &prepare_invoice; + $form->{format} = "pdf"; + &display_form; $lxdebug->leave_sub(); @@ -67,16 +78,26 @@ 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") { $form->error("Access Denied"); } - + $edit = 1; + if ($form->{print_and_post}) { + $form->{action} = "print"; + $form->{resubmit} = 1; + $language_id = $form->{language_id}; + $printer_id = $form->{printer_id}; + } &invoice_links; &prepare_invoice; + if ($form->{print_and_post}) { + $form->{language_id} = $language_id; + $form->{printer_id} = $printer_id; + } + &display_form; $lxdebug->leave_sub(); @@ -84,7 +105,7 @@ sub edit { sub invoice_links { $lxdebug->enter_sub(); - print STDERR "is.pl-invoice_links\n"; + $form->{vc} = 'customer'; # create links @@ -98,12 +119,44 @@ sub invoice_links { $form->{customer_id} = $form->{all_customer}->[0]->{id}; } } + + if ($form->{payment_id}) { + $payment_id = $form->{payment_id}; + } + if ($form->{language_id}) { + $language_id = $form->{language_id}; + } + if ($form->{taxzone_id}) { + $taxzone_id = $form->{taxzone_id}; + } + if ($form->{id}) { + $id = $form->{id}; + } + if ($form->{shipto_id}) { + $shipto_id = $form->{shipto_id}; + } + $cp_id = $form->{cp_id}; IS->get_customer(\%myconfig, \%$form); - + if ($id) { + $form->{id} = $id; + } IS->retrieve_invoice(\%myconfig, \%$form); $form->{cp_id} = $cp_id; + if ($payment_id) { + $form->{payment_id} = $payment_id; + } + if ($language_id) { + $form->{language_id} = $language_id; + } + if ($taxzone_id) { + $form->{taxzone_id} = $taxzone_id; + } + if ($shipto_id) { + $form->{shipto_id} = $shipto_id; + } + # currencies @curr = split /:/, $form->{currencies}; chomp $curr[0]; @@ -184,11 +237,16 @@ sub invoice_links { sub prepare_invoice { $lxdebug->enter_sub(); - print STDERR "is.pl-prepare_invoice\n"; - $form->{type} = "invoice"; - $form->{formname} = "invoice"; - $form->{format} = "html"; - $form->{media} = "screen"; + + if ($form->{type} eq "credit_note") { + $form->{type} = "credit_note"; + $form->{formname} = "credit_note"; + $form->{media} = "screen"; + } else { + $form->{type} = "invoice"; + $form->{formname} = "invoice"; + $form->{media} = "screen"; + } if ($form->{id}) { @@ -200,6 +258,8 @@ sub prepare_invoice { foreach $ref (@{ $form->{invoice_details} }) { $i++; + + map { $form->{"${_}_$i"} = $ref->{$_} } keys %{$ref}; $form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"discount_$i"} * 100); @@ -210,12 +270,12 @@ sub prepare_invoice { $form->{"sellprice_$i"} = $form->format_amount(\%myconfig, $form->{"sellprice_$i"}, $decimalplaces); - + (my $dec_qty) = ($form->{"qty_$i"} =~ /\.(\d+)/); - $dec_qty = length $dec_qty; - - $form->{"qty_$i"} = $form->format_amount(\%myconfig, $form->{"qty_$i"}, - $dec_qty); + $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); @@ -228,10 +288,94 @@ sub prepare_invoice { sub form_header { $lxdebug->enter_sub(); - print STDERR "is.pl-form_header\n"; + + if ($edit) { + + if ($form->{type} eq "credit_note") { + $form->{title} = $locale->text('Edit Credit Note'); + + if ($form->{storno}) { + $form->{title} = $locale->text('Edit Storno Credit Note'); + } + } else { + $form->{title} = $locale->text('Edit Sales Invoice'); + + if ($form->{storno}) { + $form->{title} = $locale->text('Edit Storno Invoice'); + } + } + } + + $payment = qq||; + foreach $item (@{ $form->{payment_terms} }) { + if ($form->{payment_id} eq $item->{id}) { + $payment .= qq||; + } else { + $payment .= qq||; + } + } + + + if (@{ $form->{TAXZONE} }) { + $form->{selecttaxzone} = ""; + foreach $item (@{ $form->{TAXZONE} }) { + if ($item->{id} == $form->{taxzone_id}) { + $form->{selecttaxzone} .= + ""; + } else { + $form->{selecttaxzone} .= + ""; + } + + } + } else { + $form->{selecttaxzone} =~ s/ selected//g; + if ($form->{taxzone_id} ne "") { + $form->{selecttaxzone} =~ s/value=$form->{taxzone_id}/value=$form->{taxzone_id} selected/; + } + } + if ($form->{rowcount} >0) { + $form->{selecttaxzone} =~ /"; + foreach $item (@{ $form->{SHIPTO} }) { + if ($item->{id} == $form->{shipto_id}) { + $form->{selectshipto} .= + ""; + } else { + $form->{selectshipto} .= + ""; + } + + } + } else { + $form->{selectshipto} =~ s/ selected//g; + if ($form->{shipto_id} ne "") { + $form->{selectshipto} =~ s/value=$form->{shipto_id}/value=$form->{shipto_id} selected/; + } + } + + $shipto = qq| +
| . $locale->text('Max. Dunning Level') . qq|: | +$form->{max_dunning_level} | +| . $locale->text('Dunning Amount') . qq|: | +| + . $form->format_amount(\%myconfig, $form->{dunning_amount},2) + . qq| | +
---|