use SL::RC;
+require "bin/mozilla/common.pl";
+
+use strict;
+
1;
# end of main
sub reconciliation {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
+
+ $main::auth->assert('cash');
RC->paymentaccounts(\%myconfig, \%$form);
- $selection = "";
+ my $selection = "";
map { $selection .= "<option>$_->{accno}--$_->{description}\n" }
@{ $form->{PR} };
$form->{title} = $locale->text('Reconciliation');
-
+ $form->{javascript} .= qq|<script type="text/javascript" src="js/common.js"></script>|;
$form->{"jsscript"} = 1;
$form->header;
+ my $onload = qq|focus()|;
+ $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|;
print qq|
-<body>
+<body onLoad="$onload">
<form method=post action=$form->{script}>
<tr>
<td>
<table>
- <tr>
- <th align=right nowrap>| . $locale->text('Account') . qq|</th>
- <td colspan=3><select name=accno>$selection</select>
- </td>
- </tr>
- <tr>
- <th align=right>| . $locale->text('From') . qq|</th>
- <td><input name=fromdate id=fromdate size=11 title="$myconfig{dateformat}">
- <input type="button" name="fromdate" id="trigger_fromdate" value="?"></td>
- <th align=right>| . $locale->text('Until') . qq|</th>
- <td><input name=todate id=todate size=11 title="$myconfig{dateformat}">
- <input type="button" name="todate" id="trigger_todate" value="?"></td>
- </tr>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Account') . qq|</th>
+ <td colspan=3><select name=accno>$selection</select>
+ </td>
+ </tr>
+ <tr>
+ <th align=right>| . $locale->text('From') . qq|</th>
+ <td><input name=fromdate id=fromdate size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
+ <input type="button" name="fromdate" id="trigger_fromdate" value="?"></td>
+ <th align=right>| . $locale->text('Until') . qq|</th>
+ <td><input name=todate id=todate size=11 title="$myconfig{dateformat}" onBlur=\"check_right_date_format(this)\">
+ <input type="button" name="todate" id="trigger_todate" value="?"></td>
+ </tr>
</table>
</td>
</tr>
<br>
<input type=hidden name=nextsub value=get_payments>
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
<input type=submit class=submit name=action value="|
. $locale->text('Continue') . qq|">
</html>
|;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
-sub continue { &{ $form->{nextsub} } }
+sub continue { call_sub($main::form->{"nextsub"}); }
sub get_payments {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+
+ $main::auth->assert('cash');
($form->{accno}, $form->{account}) = split /--/, $form->{accno};
&display_form;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
sub display_form {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
- @column_index = qw(cleared transdate source name credit debit balance);
+ $main::auth->assert('cash');
+ my @column_index = qw(cleared transdate source name credit debit balance);
+ my %column_header;
$column_header{cleared} = "<th> </th>";
$column_header{source} =
"<th class=listheading>" . $locale->text('Source') . "</a></th>";
$column_header{balance} =
"<th class=listheading>" . $locale->text('Balance') . "</a></th>";
+ my $option;
if ($form->{fromdate}) {
$option .= "\n<br>" if ($option);
$option .=
<tr>
<td>
<table width=100%>
- <tr class=listheading>
+ <tr class=listheading>
|;
map { print "\n$column_header{$_}" } @column_index;
</tr>
|;
- $ml = ($form->{category} eq 'A') ? -1 : 1;
+ my $ml = ($form->{category} eq 'A') ? -1 : 1;
$form->{beginningbalance} *= $ml;
- $clearedbalance = $balance = $form->{beginningbalance};
- $i = 0;
- $id = 0;
+ my $balance = $form->{beginningbalance};
+ my $clearedbalance = $balance;
+ my $i = 0;
+ my $id = 0;
+ my %column_data;
map { $column_data{$_} = "<td> </td>" }
qw(cleared transdate source name debit credit);
$column_data{balance} =
"<td align=right>"
. $form->format_amount(\%myconfig, $balance, 2, 0) . "</td>";
- $j = 0;
+ my $j = 0;
print qq|
- <tr class=listrow$j>
+ <tr class=listrow$j>
|;
map { print "\n$column_data{$_}" } @column_index;
print qq|
- </tr>
+ </tr>
|;
- foreach $ref (@{ $form->{PR} }) {
+ my $cleared;
+ my $totaldebits;
+ my $totalcredits;
+ my $fx_transaction;
+ my $fx;
+ foreach my $ref (@{ $form->{PR} }) {
$balance += $ref->{amount} * $ml;
$cleared += $ref->{amount} * $ml if $ref->{cleared};
$j++;
$j %= 2;
print qq|
- <tr class=listrow$j>
+ <tr class=listrow$j>
|;
map { print "\n$column_data{$_}" } @column_index;
print qq|
- </tr>
+ </tr>
|;
}
. $form->format_amount(\%myconfig, $totalcredits, 2, " ") . "</th>";
print qq|
- <tr class=listtotal>
+ <tr class=listtotal>
|;
map { print "\n$column_data{$_}" } @column_index;
$form->{statementbalance} =
$form->parse_amount(\%myconfig, $form->{statementbalance});
- $difference =
+ my $difference =
$form->format_amount(\%myconfig,
$form->{statementbalance} - $clearedbalance - $cleared,
2, 0);
$clearedbalance = $form->format_amount(\%myconfig, $clearedbalance, 2, 0);
+ my $exchdiff;
if ($fx) {
$fx = $form->format_amount(\%myconfig, $fx, 2, 0);
$exchdiff = qq|
- <th align=right nowrap>|
- . $locale->text('Exchangerate Difference') . qq|</th>
- <td width=10%></td>
- <td align=right>$fx</td>
+ <th align=right nowrap>| . $locale->text('Exchangerate Difference') . qq|</th>
+ <td width=10%></td>
+ <td align=right>$fx</td>
|;
}
print qq|
- </tr>
+ </tr>
</table>
</td>
</tr>
<td>
<table width=100%>
<tr valign=top>
- <td>
- <table>
- <tr>
- <th align=right nowrap>| . $locale->text('Cleared Balance') . qq|</th>
- <td width=10%></td>
- <td align=right>$clearedbalance</td>
- </tr>
- <tr>
- $exchdiff
- </tr>
- </table>
- </td>
- <td align=right>
- <table>
- <tr>
- <th align=right nowrap>| . $locale->text('Statement Balance') . qq|</th>
- <td width=10%></td>
- <td align=right><input name=statementbalance size=11 value=$form->{statementbalance}></td>
- </tr>
- <tr>
- <th align=right nowrap>| . $locale->text('Difference') . qq|</th>
- <td width=10%></td>
- <td align=right><input name=null size=11 value=$difference></td>
- <input type=hidden name=difference value=$difference>
- </tr>
- </table>
- </td>
- </tr>
+ <td>
+ <table>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Cleared Balance') . qq|</th>
+ <td width=10%></td>
+ <td align=right>$clearedbalance</td>
+ </tr>
+ <tr>
+ $exchdiff
+ </tr>
+ </table>
+ </td>
+ <td align=right>
+ <table>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Statement Balance') . qq|</th>
+ <td width=10%></td>
+ <td align=right><input name=statementbalance size=11 value=$form->{statementbalance}></td>
+ </tr>
+ <tr>
+ <th align=right nowrap>| . $locale->text('Difference') . qq|</th>
+ <td width=10%></td>
+ <td align=right><input name=null size=11 value=$difference></td>
+ <input type=hidden name=difference value=$difference>
+ </tr>
+ </table>
+ </td>
+ </tr>
</table>
</td>
</tr>
<input type=hidden name=fromdate value=$form->{fromdate}>
<input type=hidden name=todate value=$form->{todate}>
-<input type=hidden name=path value=$form->{path}>
-<input type=hidden name=login value=$form->{login}>
-<input type=hidden name=password value=$form->{password}>
-
<br>
<input type=submit class=submit name=action value="|
. $locale->text('Update') . qq|">
<input type=submit class=submit name=action value="|
. $locale->text('Select all') . qq|">
<input type=submit class=submit name=action value="|
- . $locale->text('Done') . qq|">|;
+ . $locale->text('Done') . qq|">
- if ($form->{menubar}) {
- require "$form->{path}/menu.pl";
- &menubar;
- }
-
- print qq|
</form>
</body>
</html>
|;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
sub update {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+
+ $main::auth->assert('cash');
RC->payment_transactions(\%myconfig, \%$form);
- foreach $ref (@{ $form->{PR} }) {
+ my $i;
+ foreach my $ref (@{ $form->{PR} }) {
if (!$ref->{fx_transaction}) {
$i++;
$ref->{cleared} = ($form->{"cleared_$i"}) ? "checked" : "";
&display_form;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
sub select_all {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+
+ $main::auth->assert('cash');
RC->payment_transactions(\%myconfig, \%$form);
&display_form;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}
sub done {
- $lxdebug->enter_sub();
+ $main::lxdebug->enter_sub();
+
+ my $form = $main::form;
+ my %myconfig = %main::myconfig;
+ my $locale = $main::locale;
+
+ $main::auth->assert('cash');
- $form->{callback} =
- "$form->{script}?path=$form->{path}&action=reconciliation&login=$form->{login}&password=$form->{password}";
+ $form->{callback} = "$form->{script}?action=reconciliation";
$form->error($locale->text('Out of balance!')) if ($form->{difference} *= 1);
RC->reconcile(\%myconfig, \%$form);
$form->redirect;
- $lxdebug->leave_sub();
+ $main::lxdebug->leave_sub();
}