#
#======================================================================
+use SL::FU;
use SL::IR;
use SL::IS;
use SL::PE;
-use List::Util qw(max);
+use List::Util qw(max sum);
require "bin/mozilla/io.pl";
require "bin/mozilla/invoice_io.pl";
"invdate", "BL", "trigger1",
"duedate", "BL", "trigger2");
+ my $follow_up_vc = $form->{vendor};
+ $follow_up_vc =~ s/--.*?//;
+ my $follow_up_trans_info = "$form->{invnumber} ($follow_up_vc)";
+
$form->{javascript} .= qq|<script type="text/javascript" src="js/show_form_details.js"></script>|;
$form->{javascript} .= qq|<script type="text/javascript" src="js/common.js"></script>|;
$form->{javascript} .= qq|<script type="text/javascript" src="js/show_vc_details.js"></script>|;
+ $form->{javascript} .= qq|<script type="text/javascript" src="js/follow_up.js"></script>|;
$jsscript .= $form->write_trigger(\%myconfig, 2, "orddate", "BL", "trigger_orddate", "quodate", "BL", "trigger_quodate");
$onload .= qq|;setupPoints('|. $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|;
print qq|
<body onLoad="$onload">
-
+<script type="text/javascript" src="js/common.js"></script>
<form method=post action=$form->{script}>
|;
$form->hide_form(qw(id title vc type level creditlimit creditremaining closedto locked shippted storno storno_id
max_dunning_level dunning_amount vendor_id oldvendor selectvendor taxaccounts
- fxgain_accno fxloss_accno taxpart taxservice),
+ fxgain_accno fxloss_accno taxpart taxservice cursor_fokus),
map { $_.'_rate', $_.'_description' } split / /, $form->{taxaccounts} );
print qq|<p>$form->{saved_message}</p>| if $form->{saved_message};
$form->{invtotal} =
$form->format_amount(\%myconfig, $form->{invtotal}, 2, 0);
+ my $follow_ups_block;
+ if ($form->{id}) {
+ my $follow_ups = FU->follow_ups('trans_id' => $form->{id});
+
+ if (@{ $follow_ups} ) {
+ my $num_due = sum map { $_->{due} * 1 } @{ $follow_ups };
+ $follow_ups_block = qq|
+ <tr>
+ <td colspan="2">| . $locale->text("There are #1 unfinished follow-ups of which #2 are due.", scalar @{ $follow_ups }, $num_due) . qq|</td>
+ </tr>
+|;
+ }
+ }
+
print qq|
<tr>
<td colspan=$colspan>
<td>$notes</td>
<td>$intnotes</td>
</tr>
+ $follow_ups_block
</table>
</td>
<td colspan=2 align=right width=100%>
}
print qq|<input class=submit type=submit name=action value="|
. $locale->text('Use As Template') . qq|">
+ <input type="button" class="submit" onclick="follow_up_window()" value="|
+ . $locale->text('Follow-Up')
+ . qq|">
|;
}
&check_name(vendor);
- $form->{exchangerate} = $exchangerate if
- $form->{forex} = $exchangerate = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{invdate}, 'sell');
+ $form->{forex} = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{invdate}, 'sell');
+ $form->{exchangerate} = $form->{forex} if $form->{forex};
for $i (1 .. $form->{paidaccounts}) {
next unless $form->{"paid_$i"};
map { $form->{"${_}_$i"} = $form->parse_amount(\%myconfig, $form->{"${_}_$i"}) } qw(paid exchangerate);
- $form->{"exchangerate_$i"} = $exchangerate if
- $form->{"forex_$i"} = $exchangerate = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{"datepaid_$i"}, 'sell');
+ $form->{"forex_$i"} = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{"datepaid_$i"}, 'sell');
+ $form->{"exchangerate_$i"} = $form->{"forex_$i"} if $form->{"forex_$i"};
}
$i = $form->{rowcount};
$form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
$form->error($locale->text('Cannot post payment for a closed period!'))
- if ($datepaid <= $closedto);
+ if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
if ($form->{currency} ne $form->{defaultcurrency}) {
$form->{"exchangerate_$i"} = $form->{exchangerate}
$form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
- $form->isblank("invdate", $locale->text('Invoice Date missing!'));
- $form->isblank("vendor", $locale->text('Vendor missing!'));
+ $form->isblank("invdate", $locale->text('Invoice Date missing!'));
+ $form->isblank("vendor", $locale->text('Vendor missing!'));
+ $form->isblank("invnumber", $locale->text('Invnumber missing!'));
$form->{invnumber} =~ s/^\s*//g;
$form->{invnumber} =~ s/\s*$//g;
$invdate = $form->datetonum($form->{invdate}, \%myconfig);
$form->error($locale->text('Cannot post invoice for a closed period!'))
- if ($invdate <= $closedto);
+ if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
$form->isblank("exchangerate", $locale->text('Exchangerate missing!'))
if ($form->{currency} ne $form->{defaultcurrency});
$form->isblank("datepaid_$i", $locale->text('Payment date missing!'));
$form->error($locale->text('Cannot post payment for a closed period!'))
- if ($datepaid <= $closedto);
+ if ($form->date_closed($form->{"datepaid_$i"}, \%myconfig));
if ($form->{currency} ne $form->{defaultcurrency}) {
$form->{"exchangerate_$i"} = $form->{exchangerate}