X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=bin%2Fmozilla%2Fis.pl;h=9bc225e884bb596231ed4b64ad7441710820be02;hb=1043d7f814fccf5864e677b1e38577d0a150026c;hp=8d70586d3212d0d38e8b8c4b19bd8e587dbc665c;hpb=be4e11d36f40d90622fdf35eb07ab207422b5455;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index 8d70586d3..9bc225e88 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -31,12 +31,15 @@ # #====================================================================== +use SL::FU; use SL::IS; use SL::PE; use Data::Dumper; +use List::Util qw(max sum); -require "$form->{path}/io.pl"; -require "$form->{path}/arap.pl"; +require "bin/mozilla/io.pl"; +require "bin/mozilla/invoice_io.pl"; +require "bin/mozilla/arap.pl"; require "bin/mozilla/drafts.pl"; 1; @@ -46,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") { @@ -60,16 +65,10 @@ sub add { } - $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}" 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; @@ -80,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"; @@ -110,6 +107,8 @@ sub edit { sub invoice_links { $lxdebug->enter_sub(); + $auth->assert('invoice_edit'); + $form->{vc} = 'customer'; # create links @@ -167,21 +166,8 @@ sub invoice_links { $form->{shipto_id} = $shipto_id; } - # currencies - @curr = split(/:/, $form->{currencies}); - chomp $curr[0]; - $form->{defaultcurrency} = $curr[0]; - - map { $form->{selectcurrency} .= "\n" } @curr; - $form->{oldcustomer} = "$form->{customer}--$form->{customer_id}"; - if (@{ $form->{all_customer} }) { - $form->{customer} = "$form->{customer}--$form->{customer_id}"; - map { $form->{selectcustomer} .= "\n" } - (@{ $form->{all_customer} }); - } - # departments if ($form->{all_departments}) { $form->{selectdepartment} = "\n" } - (@{ $form->{all_employees} }); - } - # forex $form->{forex} = $form->{exchangerate}; $exchangerate = ($form->{exchangerate}) ? $form->{exchangerate} : 1; @@ -249,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"; @@ -259,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); @@ -287,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; } @@ -299,25 +276,22 @@ sub prepare_invoice { sub form_header { $lxdebug->enter_sub(); - if ($edit) { + $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}; + + 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'); - } + $form->{title} = $locale->text('Edit Storno Credit Note') if $form->{storno}; } else { $form->{title} = $locale->text('Edit Sales Invoice'); - - if ($form->{storno}) { - $form->{title} = $locale->text('Edit Storno Invoice'); - } + $form->{title} = $locale->text('Edit Storno Invoice') if $form->{storno}; } } - - $form->{radier} = - ($form->current_date(\%myconfig) eq $form->{gldate}) ? 1 : 0; + $form->{defaultcurrency} = $form->get_default_currency(\%myconfig); + $form->{radier} = ($form->current_date(\%myconfig) eq $form->{gldate}) ? 1 : 0; $payment = qq||; foreach $item (@{ $form->{payment_terms} }) { @@ -328,75 +302,113 @@ sub form_header { } } - my $set_duedate_url = - "$form->{script}?login=$form->{login}&path=$form->{path}&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); - 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('Max. Dunning Level') . qq|: | -$form->{max_dunning_level} | -| . $locale->text('Dunning Amount') . qq|: | -| - . $form->format_amount(\%myconfig, $form->{dunning_amount},2) - . qq| | -
---|