From d641b8bb5fccc156ad5a3162a8d84eb2e0ab8720 Mon Sep 17 00:00:00 2001 From: Aleisha Amohia 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 --- .../bug_19532_-_add_Recalls_syspref.sql | 1 + installer/data/mysql/sysprefs.sql | 1 + .../intranet-tmpl/prog/en/includes/circ-menu.inc | 4 ++- .../intranet-tmpl/prog/en/includes/circ-nav.inc | 8 +++--- .../prog/en/includes/members-menu.inc | 3 +++ .../en/modules/admin/preferences/circulation.pref | 17 +++++++++---- .../prog/en/modules/circ/circulation-home.tt | 8 +++--- .../prog/en/modules/circ/circulation.tt | 4 +-- .../prog/en/modules/circ/recalls_overdue.tt | 8 ++++++ .../prog/en/modules/circ/recalls_queue.tt | 29 ++++++++++++++-------- .../prog/en/modules/circ/recalls_waiting.tt | 7 ++++++ .../prog/en/modules/members/moremember.tt | 4 +-- .../prog/en/modules/members/recallshistory.tt | 15 ++++++++--- .../opac-tmpl/bootstrap/en/includes/usermenu.inc | 12 +++++---- .../opac-tmpl/bootstrap/en/modules/opac-recall.tt | 10 ++++++++ .../opac-tmpl/bootstrap/en/modules/opac-recalls.tt | 8 ++++++ .../opac-tmpl/bootstrap/en/modules/opac-user.tt | 4 +-- members/recallshistory.pl | 26 ++++++++++++++++--- opac/opac-detail.pl | 2 +- 19 files changed, 129 insertions(+), 42 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 39b2189..e8af669 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -584,6 +584,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 fc138e9..6d7dfd2 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc @@ -120,6 +120,8 @@ [% IF Koha.Preference('ILLModule') %]
  • Interlibrary loans
  • [% END %] -
  • Recalls history
  • + [% IF Koha.Preference('UseRecalls') %] +
  • Recalls history
  • + [% END %] [% 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 9835d13..5e6b177 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-nav.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-nav.inc @@ -49,9 +49,11 @@ [% IF Koha.Preference('OnSiteCheckouts') %]
  • Pending on-site checkouts
  • [% END %] -
  • Recalls queue
  • -
  • Overdue recalls
  • -
  • Recalls awaiting pickup
  • + [% IF Koha.Preference('UseRecalls') %] +
  • Recalls queue
  • +
  • Overdue recalls
  • +
  • Recalls awaiting pickup
  • + [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/members-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/members-menu.inc index 2b603d0..786b552 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/members-menu.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/members-menu.inc @@ -23,6 +23,9 @@ [% IF Koha.Preference('HouseboundModule') %] [% IF houseboundview %]
  • [% ELSE %]
  • [% END %]Housebound
  • [% END %] + [% IF Koha.Preference('UseRecalls') %] +
  • Recalls history
  • + [% END %] [% END %] 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 1c3b686..260c3a8 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 @@ -153,11 +153,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 @@ -873,6 +868,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. Article Requests: - - pref: ArticleRequests diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt index c212257..a18443a 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation-home.tt @@ -55,9 +55,11 @@ [% IF Koha.Preference('OnSiteCheckouts') %]
  • Pending on-site checkouts
  • [% END %] -
  • Recalls queue
  • -
  • Overdue recalls
  • -
  • Recalls awaiting pickup
  • + [% IF Koha.Preference('UseRecalls') %] +
  • Recalls queue
  • +
  • Overdue recalls
  • +
  • Recalls awaiting pickup
  • + [% END %] 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 323ae6c..b61b341 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt @@ -944,7 +944,7 @@ No patron matched [% message | html %] [% END %] - [% IF recalls.count %] + [% IF Koha.Preference('UseRecalls') && recalls.count %]
  • [% recalls.count %] Recall(s)
  • [% END %] @@ -1058,7 +1058,7 @@ No patron matched [% message | html %] [% END %] -[% 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..dc7bc16 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,8 @@

    Overdue recalls

    + [% IF Koha.Preference('UseRecalls') %] + [% IF recalls.count %]
    @@ -103,6 +105,12 @@ [% END %] + [% ELSE %] + +
    Recalls have not been enabled. Enable the UseRecalls system preference to use recalls.
    + + [% END %] + 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..f51d149 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 @@ -28,24 +28,31 @@

    Recalls queue

    - [% IF recalls.count %] + [% IF Koha.Preference('UseRecalls') %] - - + [% IF recalls.count %] - Select all + + - [% INCLUDE 'recalls-reports.inc' %] + Select all -
    - -
    -
    + [% INCLUDE 'recalls-reports.inc' %] - [% ELSE %] +
    + +
    + + + [% ELSE %] + +
    No recalls have been made.
    -
    No recalls have been made.
    + [% END %] + + [% ELSE %] +
    Recalls have not been enabled. Enable the UseRecalls system preference to use recalls.
    [% END %] 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..4cb2983 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 @@ -40,6 +40,8 @@

    Recalls awaiting pickup

    + [% IF Koha.Preference('UseRecalls') %] + [% IF recalls.size > 0 %]
    @@ -152,6 +154,11 @@ [% END %] + [% ELSE %] + +
    Recalls have not been enabled. Enable the UseRecalls system preference to use recalls.
    + [% END %] +
    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 8007f61..496b4c5 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt @@ -516,7 +516,7 @@ function validate1(date) { 0 Holds [% END %] - [% IF recalls.count %] + [% IF Koha.Preference('UseRecalls') && recalls.count %]
  • [% recalls.count %] Recall(s)
  • [% END %] [% IF Koha.Preference('ArticleRequests') %] @@ -631,7 +631,7 @@ function validate1(date) { [% ELSE %]

    Patron has nothing on hold.

    [% END %] -[% IF recalls %] +[% IF Koha.Preference('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..e87c37d 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' %] -Recalls history for [% patron.firstname %] [% patron.surname %] +Recalls history for [% INCLUDE 'patron-title.inc' %] [% INCLUDE 'doc-head-close.inc' %] [% INCLUDE 'datatables.inc' %] @@ -14,19 +14,26 @@
    - [% INCLUDE 'members-toolbar.inc' %]

    Recalls history

    - [% INCLUDE 'recalls.inc' %] + [% IF Koha.Preference('UseRecalls') %] + + [% INCLUDE 'recalls.inc' %] + + [% ELSE %] + +
    Recalls have not been enabled. Enable the UseRecalls system preference to use recalls.
    + + [% END %]
    diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc index 02f6f29..a37ad89 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc +++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc @@ -114,12 +114,14 @@ your interlibrary loan requests [% END %] - [% IF ( recallsview ) %] -
  • - [% ELSE %] -
  • + [% IF Koha.Preference('UseRecalls') %] + [% IF ( recallsview ) %] +
  • + [% ELSE %] +
  • + [% END %] + your recalls history
  • [% END %] - your recalls history
    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..43a84e9 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,9 @@

    Recall an item

    + + [% IF Koha.Preference('UseRecalls') %] + [% IF error %]
    [% IF error == 'notloggedin' %] @@ -52,6 +55,13 @@ [% END %] [% END %] + + [% ELSE %] + + Recalls have not been enabled. Please contact your library. + + [% END %] +
    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..0243be8 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,8 @@

    Recalls history

    + [% IF Koha.Preference('UseRecalls') %] + [% IF RECALLS.count %]
    @@ -114,6 +116,12 @@ [% END # / # RECALLS.count %] + [% ELSE %] + + Recalls have not been enabled. Please contact your library. + + [% END %] + 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 e2e1ed5..b609258 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt @@ -154,7 +154,7 @@ Using this account is not recommended because some parts of Koha will not functi [% END %] [% IF ( RESERVES.count ) %]
  • Holds ([% RESERVES.count %])
  • [% END %] - [% IF ( RECALLS.count ) %]
  • Recalls ([% RECALLS.count %])
  • [% END %] + [% IF ( Koha.Preference('UseRecalls') && RECALLS.count ) %]
  • Recalls ([% RECALLS.count %])
  • [% END %] [% IF Koha.Preference('ArticleRequests') && borrower.article_requests_current %]
  • Article requests ([% borrower.article_requests_current.count %])
  • [% END %] [% IF ( OverDriveCirculation ) %]
  • OverDrive Account
  • @@ -775,7 +775,7 @@ Using this account is not recommended because some parts of Koha will not functi [% END # / #RESERVES.count %] - [% IF RECALLS.count %] + [% IF Koha.Preference('UseRecalls') && RECALLS.count %]
    diff --git a/members/recallshistory.pl b/members/recallshistory.pl index 3a6bc2f..0559a2f 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 + recalls => $recalls, + 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; diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index 1378bde..378a043 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -705,7 +705,7 @@ if ( not $viewallitems and @items > $max_items_to_display ) { if grep /^$itm->{itemnumber}$/, @itemnumbers_on_order; } - if ( $itm->{datedue} && $borrowernumber && $itm->{borrowernumber} != $borrowernumber ) { + if ( $itm->{datedue} && $borrowernumber && $itm->{borrowernumber} != $borrowernumber && C4::Context->preference('UseRecalls') ) { $itm->{avail_for_recall} = 1; } -- 2.1.4
    Recalls ([% RECALLS.count %])