From 8e91b20fa714649ebd8b64fe4e1074a1e5791000 Mon Sep 17 00:00:00 2001 From: Aleisha Date: Tue, 23 Feb 2016 04:06:30 +0000 Subject: [PATCH] Bug 15823: Can still access patron discharge slip without having the syspref on MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit EDIT: Fix for OPAC side EDIT: Comment 10 EDIT: Merge conflicts To test: 1) Ensure syspref useDischarge is disabled 2) Go to /cgi-bin/koha/members/discharge.pl?borrowernumber=X&discharge=1 3) Validate that you are still able to generate a discharge slip for this patron 4) Apply patch and refresh page 5) Confirm that you are redirected to the circulation.pl page for the user and that an error message is there. OPAC SIDE 6) Go to the OPAC 7) Go to /cgi-bin/koha/opac-discharge.pl 8) Confirm you get a message saying discharges are disabled 9) Go to /cgi-bin/koha/opac-discharge.pl?op=request 10) Confirm you see same message Sponsored-by: Catalyst IT Followed test plan, works as expected (both staff client and OPAC). Re-tested, works OK. Signed-off-by: Marc Véron Signed-off-by: Katrin Fischer Signed-off-by: Brendan Gallagher (cherry picked from commit 853d3cfe4d76d6f847e4f30dca4d50d278951fd0) Signed-off-by: Julian Maurice --- circ/circulation.pl | 1 + .../intranet-tmpl/prog/en/modules/circ/circulation.tt | 5 ++++- .../opac-tmpl/bootstrap/en/modules/opac-discharge.tt | 4 ++++ members/discharge.pl | 9 ++++++++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/circ/circulation.pl b/circ/circulation.pl index e4c5424564..0a56f80d7c 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -634,6 +634,7 @@ $template->param( canned_bor_notes_loop => $canned_notes, debarments => GetDebarments({ borrowernumber => $borrowernumber }), todaysdate => output_pref( { dt => dt_from_string()->set(hour => 23)->set(minute => 59), dateformat => 'sql' } ), + nopermission => $query->param('nopermission'), ); output_html_with_http_headers $query, $cookie, $template->output; diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt index 9e22ed7050..0c1f95b272 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt @@ -117,7 +117,6 @@ $(document).ready(function() { $(':radio', this).attr('checked', 'true') } }); - }); //]]> @@ -207,6 +206,10 @@ $(document).ready(function() {
The patron has unpaid charges for holds, rentals etc of [% alert.OTHER_CHARGES %]
[% END %] +[% IF ( nopermission ) %] +
Staff members are not allowed to discharge borrowers, nor borrowers to request a discharge.
+[% END %] + [% IF ( NEEDSCONFIRMATION ) %]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-discharge.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-discharge.tt index d8f5648c81..23f088dca3 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-discharge.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-discharge.tt @@ -23,6 +23,9 @@

Discharge

+ [% IF not(Koha.Preference("useDischarge")) %] + Discharges have not been enabled. Please contact the library. + [% ELSE %] [% FOR message IN messages %]
[% IF message.code == "unable_to_generate_pdf" %] @@ -46,6 +49,7 @@

Warning: This request is only valid if you are in good standing with the library. Once the application is made, you can not borrow library materials.

Ask for a discharge [% END %] + [% END %]
diff --git a/members/discharge.pl b/members/discharge.pl index 466c119773..44f141d819 100755 --- a/members/discharge.pl +++ b/members/discharge.pl @@ -41,6 +41,7 @@ use Koha::Borrower::Discharge; use Koha::DateUtils; my $input = new CGI; + my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user({ template_name => 'members/discharge.tt', query => $input, @@ -49,7 +50,13 @@ my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user({ flagsrequired => { 'borrowers' => '*' }, }); -my $borrowernumber; +my $borrowernumber = $input->param('borrowernumber'); + +unless ( C4::Context->preference('useDischarge') ) { + print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber&nopermission=1"); + exit; +} + my $data; if ( $input->param('borrowernumber') ) { $borrowernumber = $input->param('borrowernumber'); -- 2.39.5