use SL::DB::Contact;
use SL::DB::Currency;
use SL::DB::Customer;
+use SL::DB::DeliveryOrder::TypeData qw();
use SL::DB::Default;
use SL::DB::Language;
use SL::DB::Printer;
if ($form->{formname} eq "invoice") {
$form->{label} = $locale->text('Invoice');
}
+
+ if ($form->{formname} eq "invoice_for_advance_payment") {
+ $form->{label} = $locale->text('Invoice for Advance Payment');
+ }
+
+ if ($form->{formname} eq "final_invoice") {
+ $form->{label} = $locale->text('Final Invoice');
+ }
+
if ($form->{formname} eq 'sales_order') {
$inv = "ord";
$due = "req";
}
$form->{TEMPLATE_DRIVER_OPTIONS} = { };
- if (any { $form->{type} eq $_ } qw(sales_quotation sales_order sales_delivery_order invoice request_quotation purchase_order purchase_delivery_order credit_note)) {
+ if (any { $form->{type} eq $_ } qw(sales_quotation sales_order sales_delivery_order invoice invoice_for_advance_payment final_invoice request_quotation purchase_order purchase_delivery_order credit_note)) {
$form->{TEMPLATE_DRIVER_OPTIONS}->{variable_content_types} = $form->get_variable_content_types();
}
sales_quotation => 'OrderItem',
request_quotation => 'OrderItem',
invoice => 'InvoiceItem',
+ invoice_for_advance_payment => 'InvoiceItem',
+ final_invoice => 'InvoiceItem',
credit_note => 'InvoiceItem',
purchase_invoice => 'InvoiceItem',
purchase_delivery_order => 'DeliveryOrderItem',
}
$obj->items(@items) if @items;
- $obj->is_sales(!!$obj->customer_id) if $class eq 'SL::DB::DeliveryOrder';
+
+ if ($class eq 'SL::DB::DeliveryOrder' && !$obj->order_type) {
+ $obj->order_type(SL::DB::DeliveryOrder::TypeData::validate_type($::form->{type}));
+ }
if ($class eq 'SL::DB::Invoice') {
my $paid = $factor *
$::form->{media} = 'email';
- if (($::form->{attachment_policy} // '') =~ m{^(?:old_file|no_file)$}) {
+ $::form->{attachment_policy} //= '';
+
+ # Is an old file version available?
+ my $attfile;
+ if ($::form->{attachment_policy} eq 'old_file') {
+ $attfile = SL::File->get_all(object_id => $id,
+ object_type => $type,
+ file_type => 'document',
+ print_variant => $::form->{formname},);
+ }
+
+ if ($::form->{attachment_policy} eq 'no_file' || ($::form->{attachment_policy} eq 'old_file' && $attfile)) {
$::form->send_email(\%::myconfig, 'pdf');
} else {