X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fcp.pl;h=6a21edecbbf1990eed7f7a3320ebeb7d85702136;hb=0c19f07b648830f552b949573031894d3cbe4543;hp=f91e9e00cb581f40acde81c239cf76db5d6274ec;hpb=937a49378b241374fb29a7d52426507171dfbc2e;p=kivitendo-erp.git diff --git a/bin/mozilla/cp.pl b/bin/mozilla/cp.pl index f91e9e00c..6a21edecb 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}/; @@ -168,16 +182,6 @@ sub form_header { # $locale->text('AR') # $locale->text('AP') - $department = qq| - - | . $locale->text('Department') . qq| - - - - - -| if $form->{selectdepartment}; - $form->{jsscript} = 1; $jsscript = ""; if ($form->{jsscript}) { @@ -208,7 +212,7 @@ sub form_header { print qq| -
{script}> + {defaultcurrency}> {closedto}> @@ -278,12 +282,6 @@ sub form_header { $department - - - - {ARAP}"}"> - |; - for $i (1 .. $form->{rowcount}) { + for my $i (1 .. $form->{rowcount}) { + + my $j = 0; map { $form->{"${_}_$i"} = @@ -440,6 +445,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"; @@ -467,9 +476,6 @@ sub form_footer {
| . $locale->text($form->{ARAP}) . qq| -
| . $locale->text('Account') . qq| @@ -326,6 +324,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; @@ -363,7 +366,9 @@ sub list_invoices {
{rowcount}> -{login}> -{password}> -
@@ -498,8 +504,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 { @@ -559,13 +569,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}); @@ -574,8 +579,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}; @@ -602,7 +607,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"} = @@ -643,6 +648,8 @@ sub update { sub post { $lxdebug->enter_sub(); + $auth->assert('cash'); + &check_form; if ($form->{currency} ne $form->{defaultcurrency}) { @@ -650,8 +657,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!') @@ -668,6 +675,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}); @@ -681,7 +692,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} = ""; @@ -724,8 +739,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!')); @@ -734,12 +748,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}) { @@ -754,14 +769,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"});