print $form->redirect_header($form->{callback});
$::dispatcher->end_request;
- } elsif ($::instance_conf->get_ap_add_doc && $::instance_conf->get_doc_storage) {
+ } elsif ('doc-tab' eq $form->{after_action}) {
# Redirect with callback containing a fragment does not work (by now)
# because the callback info is stored in the session an parsing the
# callback parameters does not support fragments (see SL::Form::redirect).
my @columns =
qw(transdate id type invnumber ordnumber name netamount tax amount paid datepaid
due duedate transaction_description notes employee globalprojectnumber department
- vendornumber country ustid taxzone payment_terms charts direct_debit);
+ vendornumber country ustid taxzone payment_terms charts debit_chart direct_debit
+ insertdate);
my @hidden_variables = map { "l_${_}" } @columns;
push @hidden_variables, "l_subtotal", qw(open closed vendor invnumber ordnumber transaction_description notes project_id transdatefrom transdateto
'taxzone' => { 'text' => $locale->text('Tax rate'), },
'payment_terms' => { 'text' => $locale->text('Payment Terms'), },
'charts' => { 'text' => $locale->text('Chart'), },
+ 'debit_chart' => { 'text' => $locale->text('Debit Account'), },
'direct_debit' => { 'text' => $locale->text('direct debit'), },
+ 'insertdate' => { 'text' => $locale->text('Insert Date'), },
);
foreach my $name (qw(id transdate duedate invnumber ordnumber name datepaid employee shippingpoint shipvia transaction_description direct_debit department)) {
$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', 'kivi.AP.check_fields_before_posting', 'kivi.AP.check_duplicate_invnumber' ],
+ disabled => !$may_edit_create ? t8('You must not change this AP transaction.')
+ : $is_closed ? t8('The billing period has already been locked.')
+ : $is_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_ap_add_doc && $::instance_conf->get_doc_storage) {
+ @post_entries = ( $create_post_action->(t8('Post'), 'doc-tab'),
+ $create_post_action->(t8('Post and new booking')) );
+ } 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 AP transaction.') : undef,
],
-
combobox => [
- action => [
- t8('Post'),
- submit => [ '#form', { action => "post" } ],
- 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 AP transaction.')
- : $is_closed ? t8('The billing period has already been locked.')
- : $is_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" } ],