use SL::IR;
use SL::IS;
use SL::PE;
+use SL::DB::Default;
use List::Util qw(max sum);
require "bin/mozilla/io.pl";
my @values = map { $_ } @{ $form->{ALL_CURRENCIES} };
my %labels = map { $_ => $_ } @{ $form->{ALL_CURRENCIES} };
$form->{currency} = $form->{defaultcurrency} unless $form->{currency};
- $TMPL_VAR{show_exchangerate} = $form->{currency} ne $form->{defaultcurrency};
+ # show_exchangerate is also later needed in another template
+ $form->{show_exchangerate} = $form->{currency} ne $form->{defaultcurrency};
$TMPL_VAR{currencies} = NTI($cgi->popup_menu('-name' => 'currency', '-default' => $form->{"currency"},
'-values' => \@values, '-labels' => \%labels,
'-onchange' => "document.getElementById('update_button').click();"
$TMPL_VAR{creditwarning} = ($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update};
$TMPL_VAR{is_credit_remaining_negativ} = $form->{creditremaining} =~ /-/;
- $form->{fokus} = "invoice.vendor";
+ $::request->{layout}->focus('#vendor');
my $follow_up_vc = $form->{vendor};
$follow_up_vc =~ s/--\d*\s*$//;
for my $i (1 .. $form->{paidaccounts}) {
$form->{"changeable_$i"} = 1;
- if ($::lx_office_conf{features}->{payments_changeable} == 0) {
+ if (SL::DB::Default->get->payments_changeable == 0) {
# never
$form->{"changeable_$i"} = ($form->{"acc_trans_id_$i"})? 0 : 1;
- } elsif ($::lx_office_conf{features}->{payments_changeable} == 2) {
+ } elsif (SL::DB::Default->get->payments_changeable == 2) {
# on the same day
$form->{"changeable_$i"} = (($form->{"gldate_$i"} eq '') ||
($form->current_date(\%myconfig) eq $form->{"gldate_$i"}));
totalpaid => $totalpaid,
paid_missing => $form->{invtotal} - $totalpaid,
show_storno => $form->{id} && !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap") && !$totalpaid,
- show_delete => ($form->current_date(\%myconfig) eq $form->{gldate}),
+ show_delete => ($::instance_conf->get_ir_changeable == 2)
+ ? ($form->current_date(\%myconfig) eq $form->{gldate})
+ : ($::instance_conf->get_ir_changeable == 1),
});
##print $form->parse_html_template('ir/_payments'); # parser
##print $form->parse_html_template('webdav/_list'); # parser
$form->error($locale->text("Invoice has already been storno'd!"));
}
+ $form->error($locale->text('Cannot post storno for a closed period!'))
+ if ( $form->date_closed($form->{invdate}, \%myconfig));
+
my $employee_id = $form->{employee_id};
invoice_links();
prepare_invoice();
}
-sub use_as_template {
+sub use_as_new {
$main::lxdebug->enter_sub();
my $form = $main::form;
$form->header;
print qq|
-<body>
-
<form method=post action=$form->{script}>
|;