X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=bin%2Fmozilla%2Fis.pl;h=9bc225e884bb596231ed4b64ad7441710820be02;hb=2ef92b3a7c4b46a3eba1d41267fd0b8b413c49bd;hp=bfcad9e42cab51a6c9183a743683abcaa26f886e;hpb=52983c089cf1b4f1a4451e57ffa76f846c4791ba;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index bfcad9e42..9bc225e88 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -31,12 +31,14 @@ # #====================================================================== +use SL::FU; use SL::IS; use SL::PE; use Data::Dumper; -use List::Util qw(max); +use List::Util qw(max sum); require "bin/mozilla/io.pl"; +require "bin/mozilla/invoice_io.pl"; require "bin/mozilla/arap.pl"; require "bin/mozilla/drafts.pl"; @@ -47,6 +49,8 @@ require "bin/mozilla/drafts.pl"; sub add { $lxdebug->enter_sub(); + $auth->assert('invoice_edit'); + return $lxdebug->leave_sub() if (load_draft_maybe()); if ($form->{type} eq "credit_note") { @@ -61,16 +65,10 @@ sub add { } - $form->{callback} = - "$form->{script}?action=add&type=$form->{type}&login=$form->{login}&password=$form->{password}" - unless $form->{callback}; + $form->{callback} = "$form->{script}?action=add&type=$form->{type}" unless $form->{callback}; $form{jsscript} = "date"; - if ($myconfig{acs} =~ "AR--Add Sales Invoice" || $myconfig{acs} =~ "AR--AR") - { - $form->error("Access Denied"); - } &invoice_links; &prepare_invoice; &display_form; @@ -81,14 +79,12 @@ sub add { sub edit { $lxdebug->enter_sub(); + $auth->assert('invoice_edit'); + # 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"; @@ -111,6 +107,8 @@ sub edit { sub invoice_links { $lxdebug->enter_sub(); + $auth->assert('invoice_edit'); + $form->{vc} = 'customer'; # create links @@ -230,6 +228,8 @@ sub invoice_links { sub prepare_invoice { $lxdebug->enter_sub(); + $auth->assert('invoice_edit'); + if ($form->{type} eq "credit_note") { $form->{type} = "credit_note"; $form->{formname} = "credit_note"; @@ -240,8 +240,6 @@ sub prepare_invoice { if ($form->{id}) { - map { $form->{$_} =~ s/\"/"/g } - qw(invnumber ordnumber quonumber shippingpoint shipvia notes intnotes); # # get pricegroups for parts # IS->get_pricegroups_for_parts(\%myconfig, \%$form); @@ -268,8 +266,6 @@ sub prepare_invoice { $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; } @@ -280,6 +276,8 @@ sub prepare_invoice { sub form_header { $lxdebug->enter_sub(); + $auth->assert('invoice_edit'); + $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id}; $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id}; @@ -304,7 +302,7 @@ sub form_header { } } - my $set_duedate_url = "$form->{script}?login=$form->{login}&password=$form->{password}&action=set_duedate"; + my $set_duedate_url = "$form->{script}?action=set_duedate"; my $pjx = new CGI::Ajax( 'set_duedate' => $set_duedate_url ); push(@ { $form->{AJAX} }, $pjx); @@ -312,21 +310,22 @@ sub form_header { 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 }, - "employees" => "ALL_SALESMEN", - "taxzones" => "ALL_TAXZONES", - "currencies" => "ALL_CURRENCIES", - "customers" => "ALL_CUSTOMERS"); + $form->get_lists("contacts" => "ALL_CONTACTS", + "shipto" => "ALL_SHIPTO", + "projects" => { "key" => "ALL_PROJECTS", + "all" => 0, + "old_id" => \@old_project_ids }, + "employees" => "ALL_SALESMEN", + "taxzones" => "ALL_TAXZONES", + "currencies" => "ALL_CURRENCIES", + "customers" => "ALL_CUSTOMERS", + "price_factors" => "ALL_PRICE_FACTORS"); my %labels; my @values = (undef); foreach my $item (@{ $form->{"ALL_CONTACTS"} }) { push(@values, $item->{"cp_id"}); - $labels{$item->{"cp_id"}} = $item->{"cp_name"} . ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : ""); + $labels{$item->{"cp_id"}} = join(',', $item->{"cp_name"}, $item->{"cp_givenname"}) . ($item->{"cp_abteilung"} ? " ($item->{cp_abteilung})" : ""); } my $contact; if (scalar @values > 1) { @@ -372,7 +371,7 @@ sub form_header { : (NTI($cgi->popup_menu('-name' => 'customer', '-default' => $form->{oldcustomer}, '-onChange' => 'document.getElementById(\'update_button\').click();', '-values' => \@values, '-labels' => \%labels, '-style' => 'width: 250px')))) . qq| - + |; %labels = (); @@ -529,8 +528,8 @@ sub form_header { $jsscript = ""; if ($form->{type} eq "credit_note") { $button1 = qq| -