use SL::IR;
use SL::IS;
use SL::ReportGenerator;
+use SL::DB::BankTransactionAccTrans;
use SL::DB::Currency;
use SL::DB::Default;
use SL::DB::PurchaseInvoice;
my $may_edit_create = $::auth->assert('vendor_invoice_edit', 1);
my $has_sepa_exports;
-
if ($::form->{id}) {
my $invoice = SL::DB::Manager::PurchaseInvoice->find_by(id => $::form->{id});
$has_sepa_exports = 1 if ($invoice->find_sepa_export_items()->[0]);
}
+ my $is_linked_bank_transaction;
+ if ($::form->{id}
+ && SL::DB::Default->get->payments_changeable != 0
+ && SL::DB::Manager::BankTransactionAccTrans->find_by(ap_id => $::form->{id})) {
+
+ $is_linked_bank_transaction = 1;
+ }
+
for my $bar ($::request->layout->get('actionbar')) {
$bar->add(
action => [
: $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,
],
action => [
t8('Post Payment'),
submit => [ '#form', { action => "post_payment" } ],
checks => [ 'kivi.validate_form' ],
- disabled => !$may_edit_create ? t8('You must not change this AP transaction.')
- : !$::form->{id} ? t8('This invoice has not been posted yet.')
- : undef,
+ disabled => !$may_edit_create ? t8('You must not change this AP transaction.')
+ : !$::form->{id} ? t8('This invoice has not been posted yet.')
+ : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
+ : undef,
],
action => [ t8('Mark as paid'),
submit => [ '#form', { action => "mark_as_paid" } ],
action => [ t8('Delete'),
submit => [ '#form', { action => "delete" } ],
confirm => t8('Do you really want to delete this object?'),
- disabled => !$may_edit_create ? t8('You must not change this AP transaction.')
- : !$::form->{id} ? t8('This invoice has not been posted yet.')
- : $change_never ? t8('Changing invoices has been disabled in the configuration.')
- : $change_on_same_day_only ? t8('Invoices can only be changed on the day they are posted.')
- : $has_storno ? t8('This invoice has been canceled already.')
- : $is_closed ? t8('The billing period has already been locked.')
- : $has_sepa_exports ? t8('This invoice has been linked with a sepa export, undo this first.')
- : undef,
+ disabled => !$may_edit_create ? t8('You must not change this AP transaction.')
+ : !$::form->{id} ? t8('This invoice has not been posted yet.')
+ : $change_never ? t8('Changing invoices has been disabled in the configuration.')
+ : $change_on_same_day_only ? t8('Invoices can only be changed on the day they are posted.')
+ : $has_storno ? t8('This invoice has been canceled already.')
+ : $is_closed ? t8('The billing period has already been locked.')
+ : $has_sepa_exports ? t8('This invoice has been linked with a sepa export, undo this first.')
+ : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
+ : undef,
],
], # end of combobox "Storno"
use SL::FU;
use SL::GL;
use SL::IS;
+use SL::DB::BankTransactionAccTrans;
use SL::DB::Business;
use SL::DB::Chart;
use SL::DB::Currency;
my $has_storno = IS->has_storno(\%::myconfig, $::form, 'ar');
my $may_edit_create = $::auth->assert('ar_transactions', 1);
+ my $is_linked_bank_transaction;
+ if ($::form->{id}
+ && SL::DB::Default->get->payments_changeable != 0
+ && SL::DB::Manager::BankTransactionAccTrans->find_by(ar_id => $::form->{id})) {
+
+ $is_linked_bank_transaction = 1;
+ }
for my $bar ($::request->layout->get('actionbar')) {
$bar->add(
action => [
: $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,
],
action => [
t8('Post Payment'),
submit => [ '#form', { action => "post_payment" } ],
- disabled => !$may_edit_create ? t8('You must not change this AR transaction.')
- : !$::form->{id} ? t8('This invoice has not been posted yet.')
- : undef,
+ disabled => !$may_edit_create ? t8('You must not change this AR transaction.')
+ : !$::form->{id} ? t8('This invoice has not been posted yet.')
+ : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
+ : undef,
],
action => [ t8('Mark as paid'),
submit => [ '#form', { action => "mark_as_paid" } ],
use SL::FU;
use SL::IR;
use SL::IS;
+use SL::DB::BankTransactionAccTrans;
use SL::DB::Default;
use SL::DB::Department;
use SL::DB::PurchaseInvoice;
my $may_edit_create = $::auth->assert('vendor_invoice_edit', 1);
my $has_sepa_exports;
-
if ($form->{id}) {
my $invoice = SL::DB::Manager::PurchaseInvoice->find_by(id => $form->{id});
$has_sepa_exports = 1 if ($invoice->find_sepa_export_items()->[0]);
}
+ my $is_linked_bank_transaction;
+ if ($::form->{id}
+ && SL::DB::Default->get->payments_changeable != 0
+ && SL::DB::Manager::BankTransactionAccTrans->find_by(ap_id => $::form->{id})) {
+
+ $is_linked_bank_transaction = 1;
+ }
for my $bar ($::request->layout->get('actionbar')) {
$bar->add(
action => [
: $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,
],
action => [
t8('Post Payment'),
submit => [ '#form', { action => "post_payment" } ],
checks => [ 'kivi.validate_form' ],
- disabled => !$may_edit_create ? t8('You must not change this invoice.')
- : !$form->{id} ? t8('This invoice has not been posted yet.')
- : undef,
+ disabled => !$may_edit_create ? t8('You must not change this invoice.')
+ : !$form->{id} ? t8('This invoice has not been posted yet.')
+ : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
+ : undef,
],
action => [
t8('Mark as paid'),
submit => [ '#form', { action => "delete" } ],
checks => [ 'kivi.validate_form' ],
confirm => t8('Do you really want to delete this object?'),
- disabled => !$may_edit_create ? t8('You must not change this invoice.')
- : !$form->{id} ? t8('This invoice has not been posted yet.')
- : $form->{locked} ? t8('The billing period has already been locked.')
- : $change_never ? t8('Changing invoices has been disabled in the configuration.')
- : $change_on_same_day_only ? t8('Invoices can only be changed on the day they are posted.')
- : $has_sepa_exports ? t8('This invoice has been linked with a sepa export, undo this first.')
- : $has_storno ? t8('Can only delete the "Storno zu" part of the cancellation pair.')
+ disabled => !$may_edit_create ? t8('You must not change this invoice.')
+ : !$form->{id} ? t8('This invoice has not been posted yet.')
+ : $form->{locked} ? t8('The billing period has already been locked.')
+ : $change_never ? t8('Changing invoices has been disabled in the configuration.')
+ : $change_on_same_day_only ? t8('Invoices can only be changed on the day they are posted.')
+ : $has_sepa_exports ? t8('This invoice has been linked with a sepa export, undo this first.')
+ : $has_storno ? t8('Can only delete the "Storno zu" part of the cancellation pair.')
+ : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
: undef,
],
], # end of combobox "Storno"
use List::UtilsBy qw(sort_by);
use English qw(-no_match_vars);
+use SL::DB::BankTransactionAccTrans;
use SL::DB::Default;
use SL::DB::Customer;
use SL::DB::Department;
my $payments_balanced = ($::form->{oldtotalpaid} == 0);
my $has_storno = ($::form->{storno} && !$::form->{storno_id});
my $may_edit_create = $::auth->assert('invoice_edit', 1);
+ my $is_linked_bank_transaction;
+ if ($::form->{id}
+ && SL::DB::Default->get->payments_changeable != 0
+ && SL::DB::Manager::BankTransactionAccTrans->find_by(ar_id => $::form->{id})) {
+
+ $is_linked_bank_transaction = 1;
+ }
for my $bar ($::request->layout->get('actionbar')) {
$bar->add(
: $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,
],
action => [
t8('Post Payment'),
submit => [ '#form', { action => "post_payment" } ],
checks => [ 'kivi.validate_form' ],
- disabled => !$may_edit_create ? t8('You must not change this invoice.')
- : !$form->{id} ? t8('This invoice has not been posted yet.')
- : undef,
+ disabled => !$may_edit_create ? t8('You must not change this invoice.')
+ : !$form->{id} ? t8('This invoice has not been posted yet.')
+ : $is_linked_bank_transaction ? t8('This transaction is linked with a bank transaction. Please undo and redo the bank transaction booking if needed.')
+ : undef,
],
action => [ t8('Mark as paid'),
submit => [ '#form', { action => "mark_as_paid" } ],