diff --git a/installer/data/mysql/atomicupdate/add-syspref-RequireCashRegister.pl b/installer/data/mysql/atomicupdate/add-syspref-RequireCashRegister.pl new file mode 100644 index 0000000000..da878d4e82 --- /dev/null +++ b/installer/data/mysql/atomicupdate/add-syspref-RequireCashRegister.pl @@ -0,0 +1,17 @@ +use Modern::Perl; + +return { + bug_number => '30563', + description => 'Add system preference RequireCashRegister', + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + $dbh->do(q{ + INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) + VALUES ('RequireCashRegister', '0', NULL, 'Require a cash register when collecting a payment', 'YesNo') + }); + + say $out 'System preference RequireCashRegister added'; + }, +}; diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql index 63f05a4f2a..2b7259e80e 100644 --- a/installer/data/mysql/mandatory/sysprefs.sql +++ b/installer/data/mysql/mandatory/sysprefs.sql @@ -569,6 +569,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('RentalsInNoissuesCharge','1',NULL,'Rental charges block checkouts (added to noissuescharge).','YesNo'), ('ReplyToDefault','',NULL,'Use this email address as the replyto in emails','Free'), ('ReportsLog','0',NULL,'If ON, log information about reports.','YesNo'), +('RequireCashRegister','0',NULL,'Require a cash register when collecting a payment','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'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/accounting.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/accounting.pref index fdede786db..2ba1631c28 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/accounting.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/accounting.pref @@ -33,6 +33,14 @@ Accounting: 1: "Use" 0: "Don't use" - " cash registers with the accounting system to track payments." + - + - "When collecting a payment, " + - pref: RequireCashRegister + default: no + choices: + no: "require a cash register only when the CASH payment type is selected" + yes: "always require a cash register" + - " (Requires UseCashRegisters)" - - pref: EnablePointOfSale default: no diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt index 3b493c20b7..b153e3b91a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt @@ -187,11 +187,26 @@ [% IF Koha.Preference('UseCashRegisters') %]
  • - - + [% ELSE %] + + + [% IF Koha.Preference('RequireCashRegister') %] + Required + [% END %]
  • [% END %] @@ -420,9 +435,13 @@ }, [% IF Koha.Preference('UseCashRegisters') %] cash_register: { - required: function() { - return $('#payment_type').val() == 'CASH' - } + [% IF Koha.Preference('RequireCashRegister') %] + required: true + [% ELSE %] + required: function() { + return $('#payment_type').val() == 'CASH' + } + [% END %] } [% END %] },