X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fis.pl;h=f210457284dd8968db733bbc791aea3e5d22cf2a;hb=834bd183522a3b20f8c3e24d3f39c6669543c0fc;hp=a043e07bb655b4bbb147502769149a3a7ecf48c6;hpb=4dbb09950c9f5596646537c12d991c99086fe7c1;p=kivitendo-erp.git
diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl
index a043e07bb..f21045728 100644
--- a/bin/mozilla/is.pl
+++ b/bin/mozilla/is.pl
@@ -31,32 +31,42 @@
#
#======================================================================
-
use SL::IS;
use SL::PE;
+use Data::Dumper;
require "$form->{path}/io.pl";
require "$form->{path}/arap.pl";
-
1;
-# end of main
-
+# end of main
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}" unless $form->{callback};
+ $form->{callback} =
+ "$form->{script}?action=add&type=$form->{type}&login=$form->{login}&path=$form->{path}&password=$form->{password}"
+ unless $form->{callback};
$form{jsscript} = "date";
-
- if ($myconfig{acs} =~ "AR--Add Sales Invoice" || $myconfig{acs} =~ "AR--AR") {
- $form->error("Access Denied")
- }
-
+
+ if ($myconfig{acs} =~ "AR--Add Sales Invoice" || $myconfig{acs} =~ "AR--AR")
+ {
+ $form->error("Access Denied");
+ }
&invoice_links;
&prepare_invoice;
&display_form;
@@ -64,31 +74,43 @@ sub add {
$lxdebug->leave_sub();
}
-
sub edit {
$lxdebug->enter_sub();
- $form->{title} = $locale->text('Edit Sales Invoice');
-
- if ($myconfig{acs} =~ "AR--Add Sales Invoice" || $myconfig{acs} =~ "AR--AR") {
- $form->error("Access Denied")
- }
+ # show history button
+ $form->{javascript} = qq||;
+ #/show hhistory button
+ 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();
}
-
sub invoice_links {
$lxdebug->enter_sub();
$form->{vc} = 'customer';
# create links
- $form->{webdav} = $webdav;
+ $form->{webdav} = $webdav;
$form->{lizenzen} = $lizenzen;
$form->create_links("AR", \%myconfig, "customer");
@@ -98,14 +120,51 @@ 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);
-
+
+ #quote all_customer Bug 133
+ foreach $ref (@{ $form->{all_customer} }) {
+ $ref->{name} = $form->quote($ref->{name});
+ }
+ 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};
+ @curr = split(/:/, $form->{currencies});
chomp $curr[0];
$form->{defaultcurrency} = $curr[0];
@@ -113,30 +172,36 @@ sub invoice_links {
$form->{oldcustomer} = "$form->{customer}--$form->{customer_id}";
- if ($form->{all_customer}) {
+ if (@{ $form->{all_customer} }) {
$form->{customer} = "$form->{customer}--$form->{customer_id}";
- map { $form->{selectcustomer} .= "|;
+ foreach $item (@{ $form->{payment_terms} }) {
+ if ($form->{payment_id} eq $item->{id}) {
+ $payment .= qq||;
+ } else {
+ $payment .= qq||;
+ }
+ }
+
+ my $set_duedate_url =
+ "$form->{script}?login=$form->{login}&path=$form->{path}&password=$form->{password}&action=set_duedate";
+
+ my $pjx = new CGI::Ajax( 'set_duedate' => $set_duedate_url );
+ push(@ { $form->{AJAX} }, $pjx);
+
+ 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/;
+ }
+ }
+
+ $taxzone = qq|
+
+ | . $locale->text('Steuersatz') . qq| |
+ |
+
+
|;
+
+ my @old_project_ids = ($form->{"globalproject_id"});
+ map({ push(@old_project_ids, $form->{"project_id_$_"})
+ if ($form->{"project_id_$_"}); } (1..$form->{"rowcount"}));
+
+ $form->get_lists("contacts" => "ALL_CONTACTS",
+ "shipto" => "ALL_SHIPTO",
+ "projects" => { "key" => "ALL_PROJECTS",
+ "all" => 0,
+ "old_id" => \@old_project_ids });
+
+ my (%labels, @values);
+ foreach my $item (@{ $form->{"ALL_CONTACTS"} }) {
+ push(@values, $item->{"cp_id"});
+ $labels{$item->{"cp_id"}} = $item->{"cp_name"} .
+ ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : "");
+ }
+ my $contact =
+ NTI($cgi->popup_menu('-name' => 'cp_id', '-values' => \@values,
+ '-labels' => \%labels, '-default' => $form->{"cp_id"}));
+
+ %labels = ();
+ @values = ("");
+ foreach my $item (@{ $form->{"ALL_SHIPTO"} }) {
+ push(@values, $item->{"shipto_id"});
+ $labels{$item->{"shipto_id"}} =
+ $item->{"shiptoname"} . " " . $item->{"shiptodepartment_1"};
+ }
+
+ my $shipto = qq|
+ | . $locale->text('Shipping Address') . qq| |
+ | .
+ NTI($cgi->popup_menu('-name' => 'shipto_id', '-values' => \@values,
+ '-labels' => \%labels, '-default' => $form->{"shipto_id"}))
+ . qq| | |;
+
+ %labels = ();
+ @values = ("");
+ foreach my $item (@{ $form->{"ALL_PROJECTS"} }) {
+ push(@values, $item->{"id"});
+ $labels{$item->{"id"}} = $item->{"projectnumber"};
+ }
+ my $globalprojectnumber =
+ NTI($cgi->popup_menu('-name' => 'globalproject_id', '-values' => \@values,
+ '-labels' => \%labels,
+ '-default' => $form->{"globalproject_id"}));
+
# set option selected
- foreach $item (qw(AR customer currency department employee contact)) {
+ foreach $item (qw(AR customer currency department employee)) {
$form->{"select$item"} =~ s/ selected//;
- $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
+ $form->{"select$item"} =~
+ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
}
-
- #build contacts
- if ($form->{all_contacts}) {
-
- $form->{selectcontact} = "";
- foreach $item (@{$form->{all_contacts}}) {
- if ($form->{cp_id} == $item->{cp_id})
- {
- $form->{selectcontact} .= "