X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Far.pl;h=d218ff6abced12df33ae5033f82973d887b42de8;hb=f5ab83507b71d551147835d84ec8317afd2842e9;hp=109ecb5726e0bc15a5d31f9f08fa50af1d898e31;hpb=8cef58b276ce4005c0e2ada350fecd5d7a103e89;p=kivitendo-erp.git diff --git a/bin/mozilla/ar.pl b/bin/mozilla/ar.pl index 109ecb572..d218ff6ab 100644 --- a/bin/mozilla/ar.pl +++ b/bin/mozilla/ar.pl @@ -36,7 +36,7 @@ use SL::IS; use SL::PE; use Data::Dumper; -require "$form->{path}/arap.pl"; +require "bin/mozilla/arap.pl"; require "bin/mozilla/common.pl"; require "bin/mozilla/drafts.pl"; @@ -87,7 +87,7 @@ sub add { $form->{title} = "Add"; $form->{callback} = - "$form->{script}?action=add&path=$form->{path}&login=$form->{login}&password=$form->{password}" + "$form->{script}?action=add&login=$form->{login}&password=$form->{password}" unless $form->{callback}; AR->get_transdate(\%myconfig, $form); @@ -471,18 +471,18 @@ selectcustomer}| $form->{fokus} = "arledger.customer"; # use JavaScript Calendar or not - $form->{jsscript} = $jscalendar; + $form->{jsscript} = 1; $jsscript = ""; if ($form->{jsscript}) { # with JavaScript Calendar $button1 = qq| - {transdate} onBlur=\"check_right_date_format(this)\"> + text('button') . qq|> |; $button2 = qq| - {duedate} onBlur=\"check_right_date_format(this)\"> + text('button') . qq|> |; @@ -495,11 +495,15 @@ selectcustomer}| # without JavaScript Calendar $button1 = - qq|{transdate} onBlur=\"check_right_date_format(this)\">|; + qq||; $button2 = - qq|{duedate} onBlur=\"check_right_date_format(this)\">|; + qq||; } + $form->{javascript} .= + qq|| . + qq||; + $form->header; $onload = qq|focus()|; $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|; @@ -530,7 +534,7 @@ selectcustomer}| - + @@ -790,12 +794,12 @@ $jsscript |; $column_data{paid} = - qq||; + qq||; $column_data{AR_paid} = qq||; $column_data{exchangerate} = qq||; $column_data{datepaid} = - qq||; $column_data{source} = qq||; @@ -843,7 +847,6 @@ sub form_footer { -{path}> {login}> {password}> | @@ -899,7 +902,7 @@ sub form_footer { } if ($form->{menubar}) { - require "$form->{path}/menu.pl"; + require "bin/mozilla/menu.pl"; &menubar; } # button for saving history @@ -1016,7 +1019,7 @@ sub update { sub post_payment { $lxdebug->enter_sub(); for $i (1 .. $form->{paidaccounts}) { - if ($form->{"paid_$i"}) { + if ($form->parse_amount(\%myconfig, $form->{"paid_$i"})) { $datepaid = $form->datetonum($form->{"datepaid_$i"}, \%myconfig); $form->isblank("datepaid_$i", $locale->text('Payment date missing!')); @@ -1053,9 +1056,17 @@ sub post { $closedto = $form->datetonum($form->{closedto}, \%myconfig); $transdate = $form->datetonum($form->{transdate}, \%myconfig); + $form->error($locale->text('Cannot post transaction for a closed period!')) if ($transdate <= $closedto); - $form->error($locale->text('Cannot post transaction for a closed period!')) - if ($transdate <= $closedto); + my $zero_amount_posting = 1; + for $i (1 .. $form->{rowcount}) { + if ($form->parse_amount(\%myconfig, $form->{"amount_$i"})) { + $zero_amount_posting = 0; + last; + } + } + + $form->error($locale->text('Zero amount posting!')) if $zero_amount_posting; $form->isblank("exchangerate", $locale->text('Exchangerate missing!')) if ($form->{currency} ne $form->{defaultcurrency}); @@ -1225,7 +1236,7 @@ sub search { $form->{javascript} .= qq||; # use JavaScript Calendar or not - $form->{jsscript} = $jscalendar; + $form->{jsscript} = 1; $jsscript = ""; if ($form->{jsscript}) { @@ -1296,6 +1307,10 @@ sub search { + + + + @@ -1372,6 +1387,8 @@ sub search { + +
| . $locale->text('Customer') . qq|$customer$customer {"paid_$i"} onBlur=\"check_right_number_format(this)\">${selectAR_paid}$exchangerate{"datepaid_$i"} onBlur=\"check_right_date_format(this)\"> + qq| | . $locale->text('Order Number') . qq|
| . $locale->text('Transaction description') . qq|
| . $locale->text('Notes') . qq| | . $locale->text('Subtotal') . qq| | . $locale->text('Project Number') . qq|| . $locale->text('Transaction description') . qq|
@@ -1386,7 +1403,6 @@ sub search { {nextsub}> -{path}> {login}> {password}> @@ -1415,7 +1431,7 @@ sub ar_transactions { AR->ar_transactions(\%myconfig, \%$form); $callback = - "$form->{script}?action=ar_transactions&path=$form->{path}&login=$form->{login}&password=$form->{password}"; + "$form->{script}?action=ar_transactions&login=$form->{login}&password=$form->{password}"; $href = $callback; if ($form->{customer}) { @@ -1448,6 +1464,12 @@ sub ar_transactions { $option .= "\n
" if $option; $option .= $locale->text('Notes') . " : $form->{notes}"; } + if ($form->{transaction_description}) { + $callback .= "&transaction_description=" . $form->escape($form->{transaction_description}, 1); + $href .= "&transaction_description=" . $form->escape($form->{transaction_description}); + $option .= "\n
" if $option; + $option .= $locale->text('Transaction description') . " : $form->{transaction_description}"; + } if ($form->{transdatefrom}) { $callback .= "&transdatefrom=$form->{transdatefrom}"; @@ -1484,7 +1506,7 @@ sub ar_transactions { @columns = qw(transdate id type invnumber ordnumber name netamount tax amount paid - datepaid due duedate notes employee shippingpoint shipvia + datepaid due duedate transaction_description notes employee shippingpoint shipvia globalprojectnumber); $form->{"l_type"} = "Y"; @@ -1560,6 +1582,8 @@ sub ar_transactions { . ""; $column_header{globalprojectnumber} = qq|| . $locale->text('Project Number') . qq||; + $column_header{transaction_description} = + "" . $locale->text('Transaction description') . ""; $form->{title} = $locale->text('AR Transactions'); @@ -1645,12 +1669,18 @@ sub ar_transactions { $module = ($ar->{invoice}) ? "is.pl" : $form->{script}; $column_data{invnumber} = - "{id}&path=$form->{path}&login=$form->{login}&password=$form->{password}&callback=$callback>$ar->{invnumber}"; + "{id}&login=$form->{login}&password=$form->{password}&callback=$callback>$ar->{invnumber}"; + + my $is_storno = $ar->{storno} && ($ar->{invnumber} =~ /^Storno zu/); + my $has_storno = $ar->{storno} && !$is_storno; + $column_data{type} = "" . - ($ar->{storno} ? $locale->text("Storno (one letter abbreviation)") : - $ar->{amount} < 0 ? - $locale->text("Credit note (one letter abbreviation)") : - $locale->text("Invoice (one letter abbreviation)")) . ""; + ($has_storno ? $locale->text("Invoice with Storno (abbreviation)") : + $is_storno ? $locale->text("Storno (one letter abbreviation)") : + $ar->{amount} < 0 ? $locale->text("Credit note (one letter abbreviation)") : + $ar->{invoice} ? $locale->text("Invoice (one letter abbreviation)") : + $locale->text("AR Transaction (abbreviation)")) + . ""; $column_data{ordnumber} = "$ar->{ordnumber} "; $column_data{name} = "$ar->{name}"; $ar->{notes} =~ s/\r\n/
/g; @@ -1660,6 +1690,8 @@ sub ar_transactions { $column_data{employee} = "$ar->{employee} "; $column_data{globalprojectnumber} = "" . H($ar->{globalprojectnumber}) . ""; + $column_data{transaction_description} = + "" . H($ar->{transaction_description}) . ""; $i++; $i %= 2; @@ -1720,7 +1752,6 @@ sub ar_transactions { -{path}> {login}> {password}>