From df2d39f228bfd60a3b321e5c1143ed35592e6029 Mon Sep 17 00:00:00 2001 From: Andrew Isherwood <andrew.isherwood@ptfs-europe.com> Date: Thu, 3 Oct 2019 15:13:27 +0100 Subject: [PATCH] Bug 23681: Allow for selection of restriction type This patch displays a restriction type select box (when appropriate) when adding manual patron restrictions Signed-off-by: Benjamin Veasey <B.T.Veasey@lboro.ac.uk> Sponsored-by: Loughborough University --- .../prog/en/includes/borrower_debarments.inc | 11 +++++++++++ .../prog/en/modules/members/memberentrygen.tt | 10 ++++++++++ members/memberentry.pl | 4 ++-- members/mod_debarment.pl | 3 ++- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/borrower_debarments.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/borrower_debarments.inc index dbc1273f88..126979c74b 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/borrower_debarments.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/borrower_debarments.inc @@ -1,4 +1,5 @@ [% USE raw %] +[% USE Koha %] <div id="reldebarments"> [% IF ( not debarments.defined || debarments.size < 1 ) %] <p>Patron is currently unrestricted.</p> @@ -51,6 +52,16 @@ <fieldset class="rows" id="manual_restriction_form"> <legend>Add manual restriction</legend> <ol> + [% IF Koha.Preference('PatronRestrictionTypes') %] + <li> + <label for="debarred_type">Type:</label> + <select name="debarred_type"> + [% FOREACH code IN restriction_types.keys %] + <option value="[% code | html %]">[% restriction_types.$code.display_text | html %]</option> + [% END %] + </select> + </li> + [% END %] <li><label for="rcomment">Comment:</label> <input type="text" id="rcomment" name="comment" /></li> <li> <label for="rexpiration">Expiration:</label> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt index 281d69d5ba..cd3a70a39f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt @@ -1392,6 +1392,16 @@ legend:hover { <input type="hidden" id="add_debarment" name="add_debarment" value="0" /> <legend id="manual_restriction_lgd">Add manual restriction</legend> <ol> + [% IF Koha.Preference('PatronRestrictionTypes') %] + <li> + <label for="debarred_type">Type:</label> + <select name="debarred_type"> + [% FOREACH code IN restriction_types.keys %] + <option value="[% code | html %]">[% restriction_types.$code.display_text | html %]</option> + [% END %] + </select> + </li> + [% END %] <li> <label for="debarred_comment">Comment: </label> <input type="text" id="debarred_comment" name="debarred_comment" /> diff --git a/members/memberentry.pl b/members/memberentry.pl index 514d1e197c..99f270469a 100755 --- a/members/memberentry.pl +++ b/members/memberentry.pl @@ -136,7 +136,7 @@ if ( $input->param('add_debarment') ) { AddDebarment( { borrowernumber => $borrowernumber, - type => 'MANUAL', + type => scalar $input->param('debarred_type') // 'MANUAL', comment => scalar $input->param('debarred_comment'), expiration => $expiration, } @@ -242,7 +242,7 @@ if ( $op eq 'insert' || $op eq 'modify' || $op eq 'save' || $op eq 'duplicate' ) qr/^\d+-DAYS/, qr/^patron_attr_/, qr/^csrf_token$/, - qr/^add_debarment$/, qr/^debarred_comment$/,qr/^debarred_expiration$/, qr/^remove_debarment$/, # We already dealt with debarments previously + qr/^add_debarment$/, qr/^debarred_comment$/,qr/^debarred_expiration$/, qr/^debarred_type$/, qr/^remove_debarment$/, # We already dealt with debarments previously qr/^housebound_chooser$/, qr/^housebound_deliverer$/, qr/^select_city$/, qr/^new_guarantor_/, diff --git a/members/mod_debarment.pl b/members/mod_debarment.pl index 977cb2fddd..e9a99eec8c 100755 --- a/members/mod_debarment.pl +++ b/members/mod_debarment.pl @@ -44,6 +44,7 @@ if ( $action eq 'del' ) { DelDebarment( scalar $cgi->param('borrower_debarment_id') ); } elsif ( $action eq 'add' ) { my $expiration = $cgi->param('expiration'); + my $type = $cgi->param('debarred_type') // 'MANUAL'; if ($expiration) { $expiration = dt_from_string($expiration); $expiration = $expiration->ymd(); @@ -51,7 +52,7 @@ if ( $action eq 'del' ) { AddDebarment( { borrowernumber => $borrowernumber, - type => 'MANUAL', + type => $type, comment => scalar $cgi->param('comment'), expiration => $expiration, } -- 2.20.1