X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fcp.pl;h=d341ffdfc89855cc80c9f3f9e5b8622b32fad9b8;hb=b29783a3f0cff568b5d344d4fd34fe65840bea46;hp=f5e2805a334665294a5eb895cce12e81a0b2999e;hpb=04a2f2e779fabb1faa836937504d4ce8bf906a06;p=kivitendo-erp.git diff --git a/bin/mozilla/cp.pl b/bin/mozilla/cp.pl index f5e2805a3..d341ffdfc 100644 --- a/bin/mozilla/cp.pl +++ b/bin/mozilla/cp.pl @@ -36,7 +36,13 @@ use SL::OP; use SL::IS; use SL::IR; -require "$form->{path}/arap.pl"; +use strict ("vars", "subs"); +#use warnings; + +require "bin/mozilla/arap.pl"; +require "bin/mozilla/common.pl"; + +our ($form, %myconfig, $lxdebug, $locale, $auth); 1; @@ -45,6 +51,10 @@ require "$form->{path}/arap.pl"; sub payment { $lxdebug->enter_sub(); + $auth->assert('cash'); + + my (@curr); + $form->{ARAP} = ($form->{type} eq 'receipt') ? "AR" : "AP"; $form->{arap} = lc $form->{ARAP}; @@ -87,7 +97,7 @@ sub payment { } @{ $form->{PR}{ $form->{ARAP} } }; # currencies - @curr = split /:/, $form->{currencies}; + @curr = split(/:/, $form->{currencies}); chomp $curr[0]; $form->{defaultcurrency} = $form->{currency} = $form->{oldcurrency} = $curr[0]; @@ -106,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); @@ -145,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}/; @@ -177,13 +192,13 @@ sub form_header { | if $form->{selectdepartment}; - $form->{jsscript} = $jscalendar; + $form->{jsscript} = 1; $jsscript = ""; if ($form->{jsscript}) { # with JavaScript Calendar $button1 = qq| - + text('button') . qq|> |; @@ -195,17 +210,19 @@ sub form_header { # without JavaScript Calendar $button1 = qq| - |; + |; } - + $form->{javascript} .= qq||; $form->header; $arap = lc $form->{ARAP}; - + $onload = qq|focus()|; + $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|; + $onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|; print qq| - + -
{script}> + {defaultcurrency}> {closedto}> @@ -275,12 +292,6 @@ sub form_header { $department - - - - {ARAP}"}"> - - - + +
| . $locale->text($form->{ARAP}) . qq| -
| . $locale->text('Account') . qq| @@ -303,9 +314,9 @@ sub form_header {
| . $locale->text('Amount') . qq|format_amount(\%myconfig, $form->{amount}, 2) . qq|>| . $locale->text('Amount') . qq|
@@ -323,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; @@ -360,7 +376,9 @@ sub list_invoices { |; - for $i (1 .. $form->{rowcount}) { + for my $i (1 .. $form->{rowcount}) { + + my $j = 0; map { $form->{"${_}_$i"} = @@ -437,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"; @@ -464,10 +486,6 @@ sub form_footer { {rowcount}> -{path}> -{login}> -{password}> -
@@ -483,14 +501,7 @@ sub form_footer { print qq| -|; - - if ($form->{menubar}) { - require "$form->{path}/menu.pl"; - &menubar; - } - print qq|
@@ -503,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 { @@ -564,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}); @@ -579,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}; @@ -607,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"} = @@ -648,6 +658,8 @@ sub update { sub post { $lxdebug->enter_sub(); + $auth->assert('cash'); + &check_form; if ($form->{currency} ne $form->{defaultcurrency}) { @@ -655,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!') @@ -673,20 +685,28 @@ 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}; + ($whole, $form->{decimal}) = split(/\./, $form->{amount}); $form->{amount} = $form->format_amount(\%myconfig, $form->{amount}, 2); - $form->{decimal} .= "00"; + #$form->{decimal} .= "00"; $form->{decimal} = substr($form->{decimal}, 0, 2); $check = new CP $myconfig{countrycode}; $check->init; $form->{text_amount} = $check->num2text($whole); - &{"$form->{vc}_details"}; + if ($form->{vc} eq 'customer') { + IS->customer_details(\%myconfig, $form); + } else { + IR->vendor_details(\%myconfig, $form); + } $form->{callback} = ""; @@ -700,11 +720,13 @@ sub print { $form->{pdf} = 1; } + delete $form->{OUT}; + if ($form->{media} eq 'printer') { $form->{OUT} = "| $myconfig{printer}"; } if ($form->{media} eq 'queue') { - %queued = split / /, $form->{queued}; + %queued = map { s|.*/|| } split / /, $form->{queued}; if ($filename = $queued{ $form->{formname} }) { unlink "$spool/$filename"; @@ -727,8 +749,7 @@ sub print { $form->parse_template(\%myconfig, $userspath); if ($form->{media} ne 'screen') { - $form->{callback} = - "$form->{script}?action=payment&vc=$form->{vc}&path=$form->{path}&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!')); @@ -737,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}) { @@ -750,20 +772,21 @@ sub check_form { exit; } + $form->error($locale->text('Zero amount posting!')) if !$form->parse_amount(\%myconfig, $form->{amount}); $form->error($locale->text('Date missing!')) unless $form->{datepaid}; $closedto = $form->datetonum($form->{closedto}, \%myconfig); $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"});