+ t8('Save and Quotation'),
+ submit => [ '#order_form', { action => "Order/sales_quotation" } ],
+ checks => [ @req_trans_cost_art, @req_cusordnumber ],
+ only_if => (any { $self->type eq $_ } (sales_order_type())),
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.') : undef,
+ ],
+ action => [
+ t8('Save and RFQ'),
+ submit => [ '#order_form', { action => "Order/request_for_quotation" } ],
+ only_if => (any { $self->type eq $_ } (purchase_order_type())),
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.') : undef,
+ ],
+ action => [
+ t8('Save and Sales Order'),
+ submit => [ '#order_form', { action => "Order/sales_order" } ],
+ checks => [ @req_trans_cost_art ],
+ only_if => (any { $self->type eq $_ } (sales_quotation_type(), purchase_order_type())),
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.') : undef,
+ ],
+ action => [
+ t8('Save and Purchase Order'),
+ call => [ 'kivi.Order.purchase_order_check_for_direct_delivery' ],
+ checks => [ @req_trans_cost_art, @req_cusordnumber ],
+ only_if => (any { $self->type eq $_ } (sales_order_type(), request_quotation_type())),
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.') : undef,
+ ],
+ action => [
+ t8('Save and Delivery Order'),
+ call => [ 'kivi.Order.save', 'save_and_delivery_order', $::instance_conf->get_order_warn_duplicate_parts,
+ $::instance_conf->get_order_warn_no_deliverydate,
+ ],
+ checks => [ 'kivi.Order.check_save_active_periodic_invoices',
+ @req_trans_cost_art, @req_cusordnumber,
+ ],
+ only_if => (any { $self->type eq $_ } (sales_order_type(), purchase_order_type())),
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.') : undef,
+ ],
+ action => [
+ t8('Save and Supplier Delivery Order'),
+ call => [ 'kivi.Order.save', 'save_and_supplier_delivery_order', $::instance_conf->get_order_warn_duplicate_parts,
+ $::instance_conf->get_order_warn_no_deliverydate,
+ ],
+ checks => [ 'kivi.Order.check_save_active_periodic_invoices',
+ @req_trans_cost_art, @req_cusordnumber,
+ ],
+ only_if => (any { $self->type eq $_ } (purchase_order_type())),
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.') : undef,
+ ],
+ action => [
+ t8('Save and Invoice'),
+ call => [ 'kivi.Order.save', 'save_and_invoice', $::instance_conf->get_order_warn_duplicate_parts ],
+ checks => [ 'kivi.Order.check_save_active_periodic_invoices',
+ @req_trans_cost_art, @req_cusordnumber,
+ ],
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.') : undef,
+ ],
+ action => [
+ ($has_invoice_for_advance_payment ? t8('Save and Further Invoice for Advance Payment') : t8('Save and Invoice for Advance Payment')),
+ call => [ 'kivi.Order.save', 'save_and_invoice_for_advance_payment', $::instance_conf->get_order_warn_duplicate_parts ],
+ checks => [ 'kivi.Order.check_save_active_periodic_invoices',
+ @req_trans_cost_art, @req_cusordnumber,
+ ],
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.')
+ : $has_final_invoice ? t8('This order has already a final invoice.')
+ : undef,
+ only_if => (any { $self->type eq $_ } (sales_order_type())),
+ ],
+ action => [
+ t8('Save and Final Invoice'),
+ call => [ 'kivi.Order.save', 'save_and_final_invoice', $::instance_conf->get_order_warn_duplicate_parts ],
+ checks => [ 'kivi.Order.check_save_active_periodic_invoices',
+ @req_trans_cost_art, @req_cusordnumber,
+ ],
+ disabled => !$may_edit_create ? t8('You do not have the permissions to access this function.')
+ : $has_final_invoice ? t8('This order has already a final invoice.')
+ : undef,
+ only_if => (any { $self->type eq $_ } (sales_order_type())) && $has_invoice_for_advance_payment,