From 3edce10573400d4c166d7d6cc8d8a327a872fda5 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Tue, 13 Apr 2021 10:06:24 +0200 Subject: [PATCH] Bug 28138: Add syspref to make the payment type required The payment type is already required when using the cash register feature, but some users want to force selecting a payment type even when cash registers are not used The new system preference name is RequirePaymentType Test plan: 1. Apply patch and run updatedatabase.pl 2. Disable UseCashRegisters and RequirePaymentType sysprefs 3. Create some authorised values in PAYMENT_TYPE category if needed 4. Create a manual invoice and pay it. Notice that the payment type is optional. 5. Enable RequirePaymentType 6. Create a manual invoice and pay it. Notice that the payment type is now required. 7. Enable UseCashRegisters and verify that the payment type is always required, even if RequirePaymentType is disabled --- .../add-system-preference-RequirePaymentType.perl | 9 +++++++++ installer/data/mysql/mandatory/sysprefs.sql | 1 + koha-tmpl/intranet-tmpl/prog/en/includes/payments.inc | 2 +- .../prog/en/modules/admin/preferences/accounting.pref | 7 +++++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 installer/data/mysql/atomicupdate/add-system-preference-RequirePaymentType.perl diff --git a/installer/data/mysql/atomicupdate/add-system-preference-RequirePaymentType.perl b/installer/data/mysql/atomicupdate/add-system-preference-RequirePaymentType.perl new file mode 100644 index 0000000000..5ba51c1a38 --- /dev/null +++ b/installer/data/mysql/atomicupdate/add-system-preference-RequirePaymentType.perl @@ -0,0 +1,9 @@ +$DBversion = 'XXX'; +if ( CheckVersion($DBversion) ) { + $dbh->do(q{ + INSERT IGNORE INTO systempreferences (`variable`,`value`,`options`,`explanation`,`type`) + VALUES ('RequirePaymentType','0','','Require staff to select a payment type when a payment is made','YesNo') + }); + + NewVersion( $DBversion, '28138', 'Add system preference RequirePaymentType'); +} diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 19111fdfe9..160589565b 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -561,6 +561,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('ReplyToDefault','',NULL,'Use this email address as the replyto in emails','Free'), ('ReportsLog','0',NULL,'If ON, log information about reports.','YesNo'), ('RequestOnOpac','1',NULL,'If ON, globally enables patron holds on OPAC','YesNo'), +('RequirePaymentType','0','','Require staff to select a payment type when a payment is made','YesNo'), ('RequireStrongPassword','1','','Require a strong login password for staff and patrons','YesNo'), ('ReservesControlBranch','PatronLibrary','ItemHomeLibrary|PatronLibrary','Branch checked for members reservations rights','Choice'), ('ReservesMaxPickUpDelay','7','','Define the Maximum delay to pick up an item on hold','Integer'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/payments.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/payments.inc index b1b57979ad..789a186979 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/payments.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/payments.inc @@ -7,7 +7,7 @@ [% END %] [% IF payment_types.size > 0 %]
  • - [% IF Koha.Preference('UseCashRegisters') %] + [% IF Koha.Preference('UseCashRegisters') || Koha.Preference('RequirePaymentType') %]