$is_linked_bank_transaction = 1;
}
+
+ my $create_post_action = sub {
+ # $_[0]: description
+ # $_[1]: after_action
+ action => [
+ $_[0],
+ submit => [ '#form', { action => "post", after_action => $_[1] } ],
+ checks => [ 'kivi.validate_form' ],
+ checks => [ 'kivi.validate_form', 'kivi.AP.check_fields_before_posting', 'kivi.AP.check_duplicate_invnumber' ],
+ disabled => !$may_edit_create ? t8('You must not change this invoice.')
+ : $form->{locked} ? t8('The billing period has already been locked.')
+ : $form->{storno} ? t8('A canceled invoice cannot be posted.')
+ : ($form->{id} && $change_never) ? t8('Changing invoices has been disabled in the configuration.')
+ : ($form->{id} && $change_on_same_day_only) ? t8('Invoices can only be changed on the day they are posted.')
+ : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
+ : undef,
+ ],
+ };
+
+ my @post_entries;
+ if ($::instance_conf->get_ir_add_doc && $::instance_conf->get_doc_storage) {
+ @post_entries = ( $create_post_action->(t8('Post'), 'doc-tab') );
+ } elsif ($::instance_conf->get_doc_storage) {
+ @post_entries = ( $create_post_action->(t8('Post')),
+ $create_post_action->(t8('Post and upload document'), 'doc-tab') );
+ } else {
+ @post_entries = ( $create_post_action->(t8('Post')) );
+ }
+
for my $bar ($::request->layout->get('actionbar')) {
$bar->add(
action => [
accesskey => 'enter',
disabled => !$may_edit_create ? t8('You must not change this invoice.') : undef,
],
-
combobox => [
- action => [
- t8('Post'),
- submit => [ '#form', { action => "post" } ],
- checks => [ 'kivi.validate_form' ],
- checks => [ 'kivi.validate_form', 'kivi.AP.check_fields_before_posting', 'kivi.AP.check_duplicate_invnumber' ],
- disabled => !$may_edit_create ? t8('You must not change this invoice.')
- : $form->{locked} ? t8('The billing period has already been locked.')
- : $form->{storno} ? t8('A canceled invoice cannot be posted.')
- : ($form->{id} && $change_never) ? t8('Changing invoices has been disabled in the configuration.')
- : ($form->{id} && $change_on_same_day_only) ? t8('Invoices can only be changed on the day they are posted.')
- : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
- : undef,
- ],
+ @post_entries,
action => [
t8('Post Payment'),
submit => [ '#form', { action => "post_payment" } ],
# /saving the history
my $redirect_url;
- if ($::instance_conf->get_ir_add_doc && $::instance_conf->get_doc_storage) {
+ if ('doc-tab' eq $form->{after_action}) {
$redirect_url = build_std_url("script=ir.pl", 'action=edit', 'id=' . E($form->{id}), 'fragment=ui-tabs-docs');
} else {
$redirect_url = build_std_url("script=ir.pl", 'action=edit', 'id=' . E($form->{id}));