use SL::IS;
use SL::PE;
use SL::OE;
-use SL::DB::Default;
use Data::Dumper;
use List::Util qw(max sum);
+use SL::DB::Default;
+use SL::DB::Customer;
+
require "bin/mozilla/io.pl";
require "bin/mozilla/invoice_io.pl";
require "bin/mozilla/arap.pl";
$form->{callback} = "$form->{script}?action=add&type=$form->{type}" unless $form->{callback};
- $form->{jsscript} = "date";
-
&invoice_links;
&prepare_invoice;
&display_form;
$form->{vc} = 'customer';
# create links
- $form->{webdav} = $::lx_office_conf{features}->{webdav};
+ $form->{webdav} = $::instance_conf->get_webdav;
$form->create_links("AR", \%myconfig, "customer");
$TMPL_VAR{creditwarning} = ($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update};
$TMPL_VAR{is_credit_remaining_negativ} = $form->{creditremaining} =~ /-/;
- $::request->{layout}->focus('#customer');
-
my $follow_up_vc = $form->{customer};
$follow_up_vc =~ s/--\d*\s*$//;
$TMPL_VAR{customer_name} = $follow_up_vc;
), @custom_hiddens,
map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
- $form->{jsscript} = 1;
$form->header();
print $form->parse_html_template("is/form_header", \%TMPL_VAR);
# tax, total and subtotal calculations
my ($tax, $subtotal);
- $form->{taxaccounts_array} = [ split / /, $form->{taxaccounts} ];
-
- my $paymet_id = $::form->{payment_id};
- IS->get_customer(\%myconfig, \%$form) if $form->{type} =~ /sales_(order|quotation)/;
- $::form->{payment_id} = $paymet_id;
+ $form->{taxaccounts_array} = [ split(/ /, $form->{taxaccounts}) ];
- if ( $form->{vc} eq 'customer' && !$form->{taxincluded_changed_by_user} ) {
- $form->{taxincluded} = defined($form->{taxincluded_checked}) ? $form->{taxincluded_checked} : $myconfig{taxincluded_checked};
+ if( $form->{customer_id} && !$form->{taxincluded_changed_by_user} ) {
+ my $customer = SL::DB::Customer->new(id => $form->{customer_id})->load();
+ $form->{taxincluded} = defined($customer->taxincluded_checked) ? $customer->taxincluded_checked : $myconfig{taxincluded_checked};
}
foreach my $item (@{ $form->{taxaccounts_array} }) {
}
if ($rows) {
- $form->{"qty_$i"} = ($form->{"qty_$i"} * 1) ? $form->{"qty_$i"} : 1;
+ $form->{"qty_$i"} = $form->parse_amount(\%myconfig, $form->{"qty_$i"});
+ if( !$form->{"qty_$i"} ) {
+ $form->{"qty_$i"} = 1;
+ }
if ($rows > 1) {
my $closedto = $form->datetonum($form->{closedto}, \%myconfig);
my $invdate = $form->datetonum($form->{invdate}, \%myconfig);
+ $form->error($locale->text('Cannot post transaction above the maximum future booking date!'))
+ if ($form->date_max_future($invdate, \%myconfig));
$form->error($locale->text('Cannot post invoice for a closed period!'))
if ($invdate <= $closedto);