X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fcp.pl;h=d341ffdfc89855cc80c9f3f9e5b8622b32fad9b8;hb=b29783a3f0cff568b5d344d4fd34fe65840bea46;hp=a7fd15af4cad8934fc2197b9bbe17f5f91742c16;hpb=aed9138b359fee7e7652fc9f90ee746a004010b3;p=kivitendo-erp.git diff --git a/bin/mozilla/cp.pl b/bin/mozilla/cp.pl index a7fd15af4..d341ffdfc 100644 --- a/bin/mozilla/cp.pl +++ b/bin/mozilla/cp.pl @@ -36,9 +36,14 @@ use SL::OP; use SL::IS; use SL::IR; +use strict ("vars", "subs"); +#use warnings; + require "bin/mozilla/arap.pl"; require "bin/mozilla/common.pl"; +our ($form, %myconfig, $lxdebug, $locale, $auth); + 1; # end of main @@ -46,6 +51,10 @@ require "bin/mozilla/common.pl"; sub payment { $lxdebug->enter_sub(); + $auth->assert('cash'); + + my (@curr); + $form->{ARAP} = ($form->{type} eq 'receipt') ? "AR" : "AP"; $form->{arap} = lc $form->{ARAP}; @@ -107,6 +116,11 @@ sub payment { sub form_header { $lxdebug->enter_sub(); + $auth->assert('cash'); + + my ($vc, $vclabel, $allvc, $arap, $department, $exchangerate); + my ($jsscript, $button1, $button2, $onload); + $vclabel = ucfirst $form->{vc}; $vclabel = $locale->text($vclabel); @@ -146,7 +160,7 @@ sub form_header { } } - foreach $item ($form->{vc}, account, currency, $form->{ARAP}, department) { + foreach my $item ($form->{vc}, "account", "currency", $form->{ARAP}, "department") { $form->{"select$item"} =~ s/ selected//; $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/; @@ -208,7 +222,7 @@ sub form_header { print qq| -
{script}> + {defaultcurrency}> {closedto}> @@ -320,6 +334,11 @@ $jsscript sub list_invoices { $lxdebug->enter_sub(); + $auth->assert('cash'); + + my (@column_index, %column_data, $colspan, $invoice); + my ($totalamount, $totaldue, $totalpaid); + @column_index = qw(invnumber transdate amount due checked paid); $colspan = $#column_index + 1; @@ -357,7 +376,9 @@ sub list_invoices { |; - for $i (1 .. $form->{rowcount}) { + for my $i (1 .. $form->{rowcount}) { + + my $j = 0; map { $form->{"${_}_$i"} = @@ -434,6 +455,10 @@ sub list_invoices { sub form_footer { $lxdebug->enter_sub(); + $auth->assert('cash'); + + my ($media, $format, $latex_templates); + $form->{DF}{ $form->{format} } = "selected"; $form->{OP}{ $form->{media} } = "selected"; @@ -461,9 +486,6 @@ sub form_footer { {rowcount}> -{login}> -{password}> -
@@ -492,8 +514,12 @@ sub form_footer { sub update { $lxdebug->enter_sub(); + $auth->assert('cash'); + my ($new_name_selected) = @_; + my ($buysell, $newvc, $updated, $exchangerate, $amount); + if ($form->{vc} eq 'customer') { $buysell = "buy"; } else { @@ -553,13 +579,8 @@ sub update { } } - $form->{exchangerate} = $exchangerate - if ( - $form->{forex} = ( - $exchangerate = - $form->check_exchangerate( - \%myconfig, $form->{currency}, $form->{datepaid}, $buysell - ))); + $form->{forex} = $form->check_exchangerate( \%myconfig, $form->{currency}, $form->{datepaid}, $buysell); + $form->{exchangerate} = $form->{forex} if $form->{forex}; $amount = $form->{amount} = $form->parse_amount(\%myconfig, $form->{amount}); @@ -568,8 +589,8 @@ sub update { $form->{queued} = ""; - $i = 0; - foreach $ref (@{ $form->{PR} }) { + my $i = 0; + foreach my $ref (@{ $form->{PR} }) { $i++; $form->{"id_$i"} = $ref->{id}; $form->{"invnumber_$i"} = $ref->{invnumber}; @@ -596,7 +617,7 @@ sub update { # Modified from $amount = $form->{amount} by J.Zach to update amount to total # payment amount in Zahlungsausgang $amount = 0; - for $i (1 .. $form->{rowcount}) { + for my $i (1 .. $form->{rowcount}) { map { $form->{"${_}_$i"} = @@ -637,6 +658,8 @@ sub update { sub post { $lxdebug->enter_sub(); + $auth->assert('cash'); + &check_form; if ($form->{currency} ne $form->{defaultcurrency}) { @@ -644,8 +667,8 @@ sub post { unless $form->{exchangerate}; } - $msg1 = "$form->{origtitle} posted!"; - $msg2 = "Cannot post $form->{origtitle}!"; + my $msg1 = "$form->{origtitle} posted!"; + my $msg2 = "Cannot post $form->{origtitle}!"; # $locale->text('Payment posted!') # $locale->text('Receipt posted!') @@ -662,6 +685,10 @@ sub post { sub print { $lxdebug->enter_sub(); + $auth->assert('cash'); + + my ($whole, $check, %queued, $spool, $filename, $userspath); + &check_form; ($whole, $form->{decimal}) = split(/\./, $form->{amount}); @@ -675,7 +702,11 @@ sub print { $check->init; $form->{text_amount} = $check->num2text($whole); - call_sub("$form->{vc}_details"); + if ($form->{vc} eq 'customer') { + IS->customer_details(\%myconfig, $form); + } else { + IR->vendor_details(\%myconfig, $form); + } $form->{callback} = ""; @@ -718,8 +749,7 @@ sub print { $form->parse_template(\%myconfig, $userspath); if ($form->{media} ne 'screen') { - $form->{callback} = - "$form->{script}?action=payment&vc=$form->{vc}&login=$form->{login}&password=$form->{password}&all_vc=$form->{all_vc}"; + $form->{callback} = "cp.pl?action=payment&vc=$form->{vc}&all_vc=$form->{all_vc}"; $form->redirect if (CP->process_payment(\%myconfig, \%$form)); $form->error($locale->text('Cannot post payment!')); @@ -728,12 +758,13 @@ sub print { $lxdebug->leave_sub(); } -sub customer_details { IS->customer_details(\%myconfig, \%$form) } -sub vendor_details { IR->vendor_details(\%myconfig, \%$form) } - sub check_form { $lxdebug->enter_sub(); + $auth->assert('cash'); + + my ($closedto, $datepaid, $amount); + &check_name($form->{vc}); if ($form->{currency} ne $form->{oldcurrency}) { @@ -748,14 +779,14 @@ sub check_form { $datepaid = $form->datetonum($form->{datepaid}, \%myconfig); $form->error($locale->text('Cannot process payment for a closed period!')) - if ($datepaid <= $closedto); + if ($form->date_closed($form->{"datepaid"}, \%myconfig)); $amount = $form->parse_amount(\%myconfig, $form->{amount}); $form->{amount} = $amount; - for $i (1 .. $form->{rowcount}) { + for my $i (1 .. $form->{rowcount}) { if ($form->parse_amount(\%myconfig, $form->{"paid_$i"})) { - $amount -= $form->parse_amount($myconfig, $form->{"paid_$i"}); + $amount -= $form->parse_amount(\%myconfig, $form->{"paid_$i"}); push(@{ $form->{paid} }, $form->{"paid_$i"}); push(@{ $form->{due} }, $form->{"due_$i"});