X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fcp.pl;h=195a05153b7448cc0c72dfdaa2333a7b30b3aab7;hb=fe73e0d261229f181e8133283b530509773d2151;hp=a7fd15af4cad8934fc2197b9bbe17f5f91742c16;hpb=aed9138b359fee7e7652fc9f90ee746a004010b3;p=kivitendo-erp.git diff --git a/bin/mozilla/cp.pl b/bin/mozilla/cp.pl index a7fd15af4..195a05153 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}> @@ -231,82 +235,82 @@ sub form_header { - - +
- - - - - - - - - {vc}"}"> - {"$form->{vc}_id"}> - {vc}"}"> - - - - - - - - - - - - - -
- - | . $locale->text('All') . qq|
$vclabel$vc
| . $locale->text('Address') . qq| - - - - - - - - - - - - - -
$form->{street}
$form->{zipcode}
$form->{city}
$form->{country}
-
| . $locale->text('Memo') . qq|
-
- - $department - - - - - - + + - + +
| . $locale->text('Account') . qq| - -
| . $locale->text('Date') . qq| + + + + + + + + + {vc}"}) . qq|"> + {vc}_id"}) . qq|"> + {vc}"}) . qq|"> + + + + + + + + + + + + + +
+ + | . $locale->text('All') . qq|
$vclabel$vc
| . $locale->text('Address') . qq| + + + + + + + + + + + + + +
$form->{street}
$form->{zipcode}
$form->{city}
$form->{country}
+
| . $locale->text('Memo') . qq|
+
+ + $department + + + + + + $button1 - - - - - - {oldcurrency}> - - $exchangerate - - - - - - - + $exchangerate + + + + + + + - -
| . $locale->text('Account') . qq| + +
| . $locale->text('Date') . qq|
| . $locale->text('Currency') . qq|
| . $locale->text('Source') . qq|
| . $locale->text('Amount') . qq|{selectcurrency}"> + {oldcurrency}> +
| . $locale->text('Source') . qq|
| . $locale->text('Amount') . qq|
-
+
@@ -320,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; @@ -357,7 +366,9 @@ sub list_invoices { |; - for $i (1 .. $form->{rowcount}) { + for my $i (1 .. $form->{rowcount}) { + + my $j = 0; map { $form->{"${_}_$i"} = @@ -434,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"; @@ -461,9 +476,6 @@ sub form_footer { {rowcount}> -{login}> -{password}> -
@@ -492,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 { @@ -553,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}); @@ -568,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}; @@ -596,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"} = @@ -611,7 +622,7 @@ sub update { } # Modified by J.Zach, see abovev - $amount += $form->{"paid_$i"}; + $amount += $form->{"paid_$i"}; } else { $form->{"paid_$i"} = ""; @@ -625,7 +636,7 @@ sub update { } # Line added by J.Zach, see above - $form->{amount}=$amount; + $form->{amount}=$amount; &form_header; &list_invoices; @@ -637,6 +648,8 @@ sub update { sub post { $lxdebug->enter_sub(); + $auth->assert('cash'); + &check_form; if ($form->{currency} ne $form->{defaultcurrency}) { @@ -644,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!') @@ -662,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}); @@ -675,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} = ""; @@ -718,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!')); @@ -728,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}) { @@ -748,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"});