From 858816f3578b2479763cc5b0b8adedc840603044 Mon Sep 17 00:00:00 2001 From: Aleisha Amohia <aleishaamohia@hotmail.com> Date: Mon, 20 Nov 2017 02:12:08 +0000 Subject: [PATCH] Bug 19532: UseRecalls syspref This patch adds a syspref to control the usability of the recalls feature Test the following: Staff side /includes/circ-menu.inc /includes/circ-nav.inc /includes/members-menu.inc /admin/preferences/circulation.pref /circ/circulation-home.tt /circ/circulation.tt /circ/recalls_overdue.tt /circ/recalls_queue.tt /circ/recalls_waiting.tt /members/moremember.tt /members/recallshistory.tt OPAC /includes/usermenu.inc /opac-recall.tt /opac-recalls.tt /opac-user.tt /members/recallshistory.pl /opac/opac-detail.pl Signed-off-by: Nick Clemens <nick@bywatersolutions.com> --- .../bug_19532_-_add_Recalls_syspref.sql | 1 + installer/data/mysql/sysprefs.sql | 1 + .../intranet-tmpl/prog/en/includes/circ-menu.inc | 6 ++-- .../intranet-tmpl/prog/en/includes/circ-nav.inc | 8 ++++-- .../en/modules/admin/preferences/circulation.pref | 17 ++++++++---- .../prog/en/modules/circ/circulation.tt | 4 +-- .../prog/en/modules/circ/recalls_overdue.tt | 4 +++ .../prog/en/modules/circ/recalls_queue.tt | 32 ++++++++++------------ .../prog/en/modules/circ/recalls_waiting.tt | 5 +++- .../prog/en/modules/members/moremember.tt | 5 +++- .../prog/en/modules/members/recallshistory.tt | 10 +++++-- .../opac-tmpl/bootstrap/en/includes/usermenu.inc | 12 ++++---- .../opac-tmpl/bootstrap/en/modules/opac-recall.tt | 4 +++ .../opac-tmpl/bootstrap/en/modules/opac-recalls.tt | 4 +++ .../opac-tmpl/bootstrap/en/modules/opac-user.tt | 4 +-- members/recallshistory.pl | 24 ++++++++++++++-- 16 files changed, 97 insertions(+), 44 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_19532_-_add_Recalls_syspref.sql diff --git a/installer/data/mysql/atomicupdate/bug_19532_-_add_Recalls_syspref.sql b/installer/data/mysql/atomicupdate/bug_19532_-_add_Recalls_syspref.sql new file mode 100644 index 0000000..4381395 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_19532_-_add_Recalls_syspref.sql @@ -0,0 +1 @@ +INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES ('UseRecalls','1',NULL,'Enable or disable recalls','YesNo'); diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 5ab4c0e..bb65bb8 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -611,6 +611,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('UseICU','0','1','Tell Koha if ICU indexing is in use for Zebra or not.','YesNo'), ('UseKohaPlugins','0','','Enable or disable the ability to use Koha Plugins.','YesNo'), ('UseQueryParser','0',NULL,'If enabled, try to use QueryParser for queries.','YesNo'), +('UseRecalls', '1', NULL, 'Enable or disable recalls', 'YesNo'), ('UseTransportCostMatrix','0','','Use Transport Cost Matrix when filling holds','YesNo'), ('UseWYSIWYGinSystemPreferences','0','','Show WYSIWYG editor when editing certain HTML system preferences.','YesNo'), ('viewISBD','1','','Allow display of ISBD view of bibiographic records','YesNo'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc index 290911c..f26b822 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc @@ -124,6 +124,8 @@ [% IF Koha.Preference('ILLModule') && CAN_user_ill %] <li><a href="/cgi-bin/koha/ill/ill-requests.pl?borrowernumber=[% patron.borrowernumber | html %]">Interlibrary loans</a></li> [% END %] - <li><a href="/cgi-bin/koha/members/recallshistory.pl">Recalls history</a></li> -</ul></div> + [% IF Koha.Preference('UseRecalls') %] + <li><a href="/cgi-bin/koha/members/recallshistory.pl">Recalls history</a></li> + [% END %] + </ul></div> [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-nav.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-nav.inc index 17be2ae..32c4996 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-nav.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-nav.inc @@ -39,9 +39,11 @@ [% IF Koha.Preference('OnSiteCheckouts') %] <li><a href="/cgi-bin/koha/circ/on-site_checkouts.pl">Pending on-site checkouts</a></li> [% END %] - <li><a href="/cgi-bin/koha/circ/recalls_queue.pl">Recalls queue</a></li> - <li><a href="/cgi-bin/koha/circ/recalls_overdue.pl">Overdue recalls</a></li> - <li><a href="/cgi-bin/koha/circ/recalls_waiting.pl">Recalls awaiting pickup</a></li> + [% IF Koha.Preference('UseRecalls') %] + <li><a href="/cgi-bin/koha/circ/recalls_queue.pl">Recalls queue</a></li> + <li><a href="/cgi-bin/koha/circ/recalls_overdue.pl">Overdue recalls</a></li> + <li><a href="/cgi-bin/koha/circ/recalls_waiting.pl">Recalls awaiting pickup</a></li> + [% END %] </ul> </div> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref index 8794461..068e037 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref @@ -160,11 +160,6 @@ Circulation: Checkout Policy: - - - Mark a recall as problematic if it has been waiting to be picked up for - - pref: RecallsMaxPickUpDelay - - class: integer - - days. - - - pref: AllowTooManyOverride choices: yes: Allow @@ -955,6 +950,18 @@ Circulation: yes: Enable no: Disable - "housebound module" + Recalls: + - + - pref: UseRecalls + choices: + yes: Use + no: "Don't use" + - recalls + - + - Mark a recall as problematic if it has been waiting to be picked up for + - pref: RecallsMaxPickupDelay + - class: integer + - days. Stockrotation module: - - pref: StockRotation 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 6c44bc7..f26de97 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt @@ -819,7 +819,7 @@ No patron matched <span class="ex">[% message | html %]</span> [% END %] </li> - [% IF recalls.count %] + [% IF Koha.Preference('UseRecalls') && recalls.count %] <li><a href="#recalls" id+"recalls-tab">[% recalls.count %] Recall(s)</a></li> [% END %] @@ -934,7 +934,7 @@ No patron matched <span class="ex">[% message | html %]</span> [% END %] </div> <!-- reservesloop --> -[% IF recalls.count %] +[% IF Koha.Preference('UseRecalls') && recalls.count %] [% INCLUDE 'recalls.inc' %] [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_overdue.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_overdue.tt index 494cfdc..76828e5 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_overdue.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_overdue.tt @@ -28,6 +28,7 @@ <h1>Overdue recalls</h1> + [% IF Koha.Preference('UseRecalls') %] [% IF recalls.count %] <form method="post" action="/cgi-bin/koha/circ/recalls_queue.pl"> @@ -102,6 +103,9 @@ <div class="dialog message">There are no overdue recalls.</div> [% END %] + [% ELSE %] + <div class="dialog message">Recalls have not been enabled. Enable the <a href="/cgi-bin/koha/admin/preferences.pl?tab=circulation">UseRecalls</a> system preference to use recalls.</div> + [% END %] </div> </div> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_queue.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_queue.tt index 5d28ac1..b037bbf 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_queue.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_queue.tt @@ -27,25 +27,21 @@ <div class="yui-g"> <h1>Recalls queue</h1> - - [% IF recalls.count %] - - <form method="post" action="/cgi-bin/koha/circ/recalls_queue.pl"> - <input type="hidden" name="op" value="cancel_multiple_recalls"> - - <input type="checkbox" id="select_all"> <span id="select_all_text">Select all</span> - - [% INCLUDE 'recalls-reports.inc' %] - - <fieldset class="action"> - <button type="submit" id="cancel_selected" class="btn btn-default btn-sm">Cancel selected recalls</button> - </fieldset> - </form> - + [% IF Koha.Preference('UseRecalls') %] + [% IF recalls.count %] + <form method="post" action="/cgi-bin/koha/circ/recalls_queue.pl"> + <input type="hidden" name="op" value="cancel_multiple_recalls"> + <input type="checkbox" id="select_all"> <span id="select_all_text">Select all</span> + [% INCLUDE 'recalls-reports.inc' %] + <fieldset class="action"> + <button type="submit" id="cancel_selected" class="btn btn-default btn-sm">Cancel selected recalls</button> + </fieldset> + </form> + [% ELSE %] + <div class="dialog message">No recalls have been made.</div> + [% END %] [% ELSE %] - - <div class="dialog message">No recalls have been made.</div> - + <div class="dialog message">Recalls have not been enabled. Enable the <a href="/cgi-bin/koha/admin/preferences.pl?tab=circulation">UseRecalls</a> system preference to use recalls.</div> [% END %] </div> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_waiting.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_waiting.tt index ddd0bd2..6a061bf 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_waiting.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/recalls_waiting.tt @@ -39,7 +39,7 @@ <div class="yui-g"> <h1>Recalls awaiting pickup</h1> - + [% IF Koha.Preference('UseRecalls') %] [% IF recalls.size > 0 %] <div id="results" class="toptabs"> @@ -152,6 +152,9 @@ [% END %] + [% ELSE %] + <div class="dialog message">Recalls have not been enabled. Enable the <a href="/cgi-bin/koha/admin/preferences.pl?tab=circulation">UseRecalls</a> system preference to use recalls.</div> + [% END %] </div> </div> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt index ee8b60f..a0b6825 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt @@ -661,6 +661,9 @@ [% END %] </li> [% END %] + [% IF Koha.Preference('UseRecalls') && recalls.count %] + <li><a href="#recalls" id+"recalls-tab">[% recalls.count %] Recall(s)</a></li> + [% END %] [% IF Koha.Preference('ArticleRequests') %] <li> <a href="#article-requests" id="article-requests-tab"> [% patron.article_requests_current.count | html %] Article requests</a> @@ -777,7 +780,7 @@ [% END %] </div> [% # /div#reserves %] [% END %] - [% IF recalls %] + [% IF Koha.Preferernce('UseRecalls') && recalls %] [% INCLUDE 'recalls.inc' %] [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/recallshistory.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/recallshistory.tt index a7ee266..1a2b14a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/recallshistory.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/recallshistory.tt @@ -1,7 +1,7 @@ [% USE KohaDates %] [% USE Koha %] [% INCLUDE 'doc-head-open.inc' %] -<title>Recalls history for [% patron.firstname %] [% patron.surname %]</title> +<title>Recalls history for [% INCLUDE 'patron-title.inc' %]</title> [% INCLUDE 'doc-head-close.inc' %] <link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" /> [% INCLUDE 'datatables.inc' %] @@ -14,7 +14,7 @@ <div id="breadcrumbs"> <a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › - Recalls history for [% patron.firstname %] [% patron.surname %] + Recalls history for [% INCLUDE 'patron-title.inc' %] </div> <div id="doc3" class="yui-t2"> @@ -26,7 +26,11 @@ <h1>Recalls history</h1> - [% INCLUDE 'recalls.inc' %] + [% IF Koha.Preference('UseRecalls') %] + [% INCLUDE 'recalls.inc' %] + [% ELSE %] + <div class="dialog message">Recalls have not been enabled. Enable the <a href="/cgi-bin/koha/admin/preferences.pl?tab=circulation">UseRecalls</a> system preference to use recalls.</div> + [% END %] </div> </div> diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc index cb69b39..c8de28a 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc @@ -131,12 +131,14 @@ <a href="/cgi-bin/koha/opac-illrequests.pl">your interlibrary loan requests</a></li> [% END %] - [% IF ( recallsview ) %] - <li class="active"> - [% ELSE %] - <li> + [% IF Koha.Preference('UseRecalls') %] + [% IF ( recallsview ) %] + <li class="active"> + [% ELSE %] + <li> + [% END %] + <a href="/cgi-bin/koha/opac-recalls.pl">your recalls history</a></li> [% END %] - <a href="/cgi-bin/koha/opac-recalls.pl">your recalls history</a></li> </ul> </div> [% END %] diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recall.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recall.tt index e5c5805..b45d3ec 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recall.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recall.tt @@ -24,6 +24,7 @@ <div class="span10"> <div id="discharge" class="maincontainer"> <h1>Recall an item</h1> + [% IF Koha.Preference('UseRecalls') %] [% IF error %] <div class="dialog alert"> [% IF error == 'notloggedin' %] @@ -52,6 +53,9 @@ [% END %] [% END %] + [% ELSE %] + Recalls have not been enabled. Please contact your library. + [% END %] </div> <!-- / #discharge --> </div> <!-- / .span10 --> </div> <!-- / .row-fluid --> diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt index cb6e382..3e206d3 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt @@ -27,6 +27,7 @@ <h2>Recalls history</h2> + [% IF Koha.Preference('UseRecalls') %] [% IF RECALLS.count %] <div id="opac-user-recalls"> <table id="recalls-table" class="table table-bordered table-striped"> @@ -114,6 +115,9 @@ </div> [% END # / # RECALLS.count %] + [% ELSE %] + Recalls have not been enabled. Please contact your library. + [% END %] </div> <!-- /#recalls --> </div> <!-- /.span10 --> </div> <!-- /.row-fluid --> diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt index 1c200d8..173fe2c 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt @@ -159,7 +159,7 @@ [% END %] [% IF ( RESERVES.count ) %]<li><a href="#opac-user-holds">Holds ([% RESERVES.count | html %])</a></li>[% END %] - [% IF ( RECALLS.count ) %]<li><a href="#opac-user-recalls">Recalls ([% RECALLS.count | html %])</a></li>[% END %] + [% IF ( Koha.Preference('UseRecalls') && RECALLS.count ) %]<li><a href="#opac-user-recalls">Recalls ([% RECALLS.count | html %])</a></li>[% END %] [% IF Koha.Preference('ArticleRequests') && borrower.article_requests_current %]<li><a href="#opac-user-article-requests">Article requests ([% borrower.article_requests_current.count | html %])</a></li>[% END %] [% IF ( OverDriveCirculation ) %] <li><a href="#opac-user-overdrive">OverDrive Account</a></li> @@ -788,7 +788,7 @@ </div> <!-- / #opac-user-holds --> [% END # / #RESERVES.count %] - [% IF RECALLS.count %] + [% IF Koha.Preference('UseRecalls') && RECALLS.count %] <div id="opac-user-recalls"> <table id="recalls-table" class="table table-bordered table-striped"> <caption>Recalls <span class="count">([% RECALLS.count %])</span></caption> diff --git a/members/recallshistory.pl b/members/recallshistory.pl index 3a6bc2f..4e42529 100755 --- a/members/recallshistory.pl +++ b/members/recallshistory.pl @@ -44,10 +44,30 @@ my $recalls = Koha::Recalls->search({ borrowernumber => $loggedinuser }); my $patron = Koha::Patrons->find($loggedinuser); +$template->param( picture => 1 ) if $patron->image; + $template->param( recalls => $recalls, - patron => $patron, - recallsview => 1 + recallsview => 1, + borrowernumber => $loggedinuser, + title => $patron->title, + initials => $patron->initials, + surname => $patron->surname, + firstname => $patron->firstname, + cardnumber => $patron->cardnumber, + categorycode => $patron->categorycode, + category_type => $patron->category->category_type, + categoryname => $patron->category->description, + address => $patron->address, + streetnumber => $patron->streetnumber, + streettype => $patron->streettype, + address2 => $patron->address2, + city => $patron->city, + zipcode => $patron->zipcode, + country => $patron->country, + phone => $patron->phone, + email => $patron->email, + branchcode => $patron->branchcode ); output_html_with_http_headers $input, $cookie, $template->output; -- 2.1.4