Bugzilla – Attachment 68583 Details for
Bug 2093
Add OPAC dashboard for logged-in users
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 2093: Add OPAC Summary for logged-in users
Bug-2093-Add-OPAC-Summary-for-logged-in-users.patch (text/plain), 7.85 KB, created by
Nick Clemens (kidclamp)
on 2017-10-26 10:11:52 UTC
(
hide
)
Description:
Bug 2093: Add OPAC Summary for logged-in users
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2017-10-26 10:11:52 UTC
Size:
7.85 KB
patch
obsolete
>From 80b70a98bf261c6ba2e5a36a7276d089559b1d19 Mon Sep 17 00:00:00 2001 >From: Aleisha Amohia <aleishaamohia@hotmail.com> >Date: Wed, 26 Apr 2017 05:18:13 +0000 >Subject: [PATCH] Bug 2093: Add OPAC Summary for logged-in users > >This patch adds a summary to the OPAC once the user has logged in that >shows the users number of checkouts, overdues, holds pending, holds >waiting and total fines. We also have a syspref OPACUserSummary to turn >this feature on and off. Default is ON. > >To test: >1) Apply patch and update database >2) Set up some checkouts, overdues, holds pending AND waiting and fines >for a user >3) Log into OPAC as that user, see summary. Confirm links all work as >expected >4) Confirm that if there are no checkouts / overdues etc that the link >disappears from the summary >5) Turn OPACUserSummary OFF and confirm the summary does not show on the >mainpage. > >Sponsored-by: Catalyst IT > >Signed-off-by: Hugo Agud <hagud@orex.es> > >Signed-off-by: Nick Clemens <nick@bywatersolutions.com> >--- > .../bug_2093_-_add_OPACUserSummary_syspref.sql | 1 + > installer/data/mysql/sysprefs.sql | 1 + > .../prog/en/modules/admin/preferences/opac.pref | 6 +++++ > .../opac-tmpl/bootstrap/en/modules/opac-main.tt | 26 +++++++++++++++++++++- > opac/opac-main.pl | 21 +++++++++++++++++ > 5 files changed, 54 insertions(+), 1 deletion(-) > create mode 100644 installer/data/mysql/atomicupdate/bug_2093_-_add_OPACUserSummary_syspref.sql > >diff --git a/installer/data/mysql/atomicupdate/bug_2093_-_add_OPACUserSummary_syspref.sql b/installer/data/mysql/atomicupdate/bug_2093_-_add_OPACUserSummary_syspref.sql >new file mode 100644 >index 0000000..bd8bba3 >--- /dev/null >+++ b/installer/data/mysql/atomicupdate/bug_2093_-_add_OPACUserSummary_syspref.sql >@@ -0,0 +1 @@ >+INSERT IGNORE INTO systempreferences (`variable`,`value`,`options`,`explanation`,`type`) VALUES ('OPACUserSummary', 1, NULL, "Show the summary of a logged in user's checkouts, overdues, holds and fines on the mainpage", 'YesNo'); >diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql >index 4647789..fdecaa8 100644 >--- a/installer/data/mysql/sysprefs.sql >+++ b/installer/data/mysql/sysprefs.sql >@@ -394,6 +394,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` > ('OPACUserCSS','',NULL,'Add CSS to be included in the OPAC in an embedded <style> tag.','free'), > ('OPACUserJS','','70|10','Define custom javascript for inclusion in OPAC','Textarea'), > ('opacuserlogin','1',NULL,'Enable or disable display of user login features','YesNo'), >+('OPACUserSummary', 1, NULL, "Show the summary of a logged in user's checkouts, overdues, holds and fines on the mainpage", 'YesNo'), > ('OPACViewOthersSuggestions','0',NULL,'If ON, allows all suggestions to be displayed in the OPAC','YesNo'), > ('OPACXSLTDetailsDisplay','default','','Enable XSL stylesheet control over details page display on OPAC','Free'), > ('OPACXSLTListsDisplay','default','','Enable XSLT stylesheet control over lists pages display on OPAC','Free'), >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref >index d76c27b..c44b109 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref >@@ -1,6 +1,12 @@ > OPAC: > Appearance: > - >+ - pref: OPACUserSummary >+ choices: >+ yes: Show >+ no: "Don't show" >+ - "a summary of a logged in user's checkouts, overdues, holds and fines on the mainpage" >+ - > - For search results in the OPAC, show the item's > - pref: OPACResultsLibrary > choices: >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt >index ba5372e..e60087b 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt >@@ -1,5 +1,6 @@ > [% USE Koha %] > [% USE Branches %] >+[% USE Price %] > [% INCLUDE 'doc-head-open.inc' %] > <title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog</title> > [% INCLUDE 'doc-head-close.inc' %] >@@ -133,7 +134,30 @@ > </form> > </div> <!-- /#login --> > [% END # /casAuthentication %] >- [% END # / loggedinusername %] >+ [% ELSE %] >+ [% IF Koha.Preference('OPACUserSummary') %] >+ <div id="user_summary"> >+ <h1>Welcome, <a href="/cgi-bin/koha/opac-user.pl"><span class="loggedinusername">[% USER_INFO.title %] [% USER_INFO.firstname %] [% USER_INFO.surname %]</span></a></h1> >+ <ul id="user_summary_shortcuts"> >+ [% IF checkouts && checkouts > 0 %] >+ <li><a href="/cgi-bin/koha/opac-user.pl">[% checkouts %] checkout(s)</a></li> >+ [% END %] >+ [% IF overdues && overdues > 0 %] >+ <li><a href="/cgi-bin/koha/opac-user.pl">[% overdues %] overdue(s)</a></li> >+ [% END %] >+ [% IF holds_pending && holds_pending > 0 %] >+ <li><a href="/cgi-bin/koha/opac-user.pl">[% holds_pending %] hold(s) pending</a></li> >+ [% END %] >+ [% IF holds_waiting && holds_waiting > 0 %] >+ <li><a href="/cgi-bin/koha/opac-user.pl">[% holds_waiting %] hold(s) waiting</a></li> >+ [% END %] >+ [% IF total_owing && total_owing > 0 %] >+ <li><a href="/cgi-bin/koha/opac-account.pl">[% total_owing | $Price %] due</a></li> >+ [% END %] >+ </ul> >+ </div> >+ [% END %] >+ [% END # /loggedinusername %] > [% END # /opacuserlogin %] > [% IF ( OpacNavRight ) %] > <div id="opacnavright"> >diff --git a/opac/opac-main.pl b/opac/opac-main.pl >index 2f1f18c..d63392b 100755 >--- a/opac/opac-main.pl >+++ b/opac/opac-main.pl >@@ -25,6 +25,10 @@ use C4::Output; > use C4::NewsChannels; # GetNewsToDisplay > use C4::Languages qw(getTranslatedLanguages accept_language); > use C4::Koha qw( GetDailyQuote ); >+use C4::Members; >+use C4::Overdues; >+use C4::Reserves; >+use Koha::Checkouts; > > my $input = new CGI; > my $dbh = C4::Context->dbh; >@@ -62,7 +66,24 @@ my $koha_news_count = scalar @$all_koha_news; > > my $quote = GetDailyQuote(); # other options are to pass in an exact quote id or select a random quote each pass... see perldoc C4::Koha > >+my $checkouts = Koha::Checkouts->search({ borrowernumber => $borrowernumber })->count; >+my ( $overdues_count, $overdues ) = checkoverdues($borrowernumber); >+my @holds = GetReservesFromBorrowernumber($borrowernumber); >+my $holds_pending = 0; >+foreach my $hold (@holds) { >+ if (not defined($hold->{found})){ >+ $holds_pending++; >+ } >+} >+my @holds_waiting = GetReservesFromBorrowernumber($borrowernumber, 'W'); >+my ( $total , $accts, $numaccts) = GetMemberAccountRecords( $borrowernumber ); >+ > $template->param( >+ checkouts => $checkouts, >+ overdues => $overdues_count, >+ holds_pending => $holds_pending, >+ holds_waiting => scalar @holds_waiting, >+ total_owing => $total, > koha_news => $all_koha_news, > koha_news_count => $koha_news_count, > branchcode => $homebranch, >-- >2.1.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 2093
:
501
|
62704
|
62982
|
62983
|
65438
|
66245
| 68583 |
68584
|
68585
|
68586
|
68764
|
68765