From 72c40aa399a5604c0b1d9491c41638b53fced26e Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Wed, 7 Oct 2020 14:53:37 +0000 Subject: [PATCH] Bug 26123: Add message notification to patron dashboard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test plan: 1. Apply patch, restart_all 2. Add some OPAC messages by clicking 'Add a message' on Home › Circulation › Checkouts › patron 3. Log into the OPAC as that patron and you should see a notice about how many messages you have with a link to opac-user.pl 4. Add multiple OPAC messages and make sure it all continues to work. 5. Also add an OPAC note from memberentry.pl. Refresh the OPAC and you should see a 1 message added to the total 6. Try an OPAC without any messages. If there are no messages or any other kind of notification the dashboard should NOT appear at all. 7. Add a 'staff - internal' note. It should not count towards your total messages in the dashboard. 8. Test it with some other notices that would appear on the dashboard, checkouts, holds, overdues. Signed-off-by: Séverine QUEUNE Signed-off-by: Katrin Fischer --- koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt | 7 +++++++ opac/opac-main.pl | 13 ++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) 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 420a514bda..37c50aacdc 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt @@ -232,6 +232,13 @@ [% IF total_owing && total_owing > 0 %]
  • [% total_owing | $Price with_symbol => 1 %] due in fines and charges
  • [% END %] + [% IF patron_messages && patron_messages.count > 0 || opacnote %] + [% IF opacnote %] +
  • [% patron_messages.count + 1 | html %] message(s)
  • + [% ELSE %] +
  • [% patron_messages.count | html %] message(s)
  • + [% END %] + [% END %] [% END %] diff --git a/opac/opac-main.pl b/opac/opac-main.pl index c572866284..f885a8ab48 100755 --- a/opac/opac-main.pl +++ b/opac/opac-main.pl @@ -30,6 +30,7 @@ use C4::Overdues; use Koha::Checkouts; use Koha::Holds; use Koha::News; +use Koha::Patron::Messages; my $input = CGI->new; my $dbh = C4::Context->dbh; @@ -81,10 +82,14 @@ if ( $patron ) { my ( $overdues_count, $overdues ) = checkoverdues($borrowernumber); my $holds_pending = Koha::Holds->search({ borrowernumber => $borrowernumber, found => undef })->count; my $holds_waiting = Koha::Holds->search({ borrowernumber => $borrowernumber })->waiting->count; - + my $patron_messages = Koha::Patron::Messages->search( + { + borrowernumber => $borrowernumber, + message_type => 'B', + }); + my $patron_note = $patron->opacnote; my $total = $patron->account->balance; - - if ( $checkouts > 0 || $overdues_count > 0 || $holds_pending > 0 || $holds_waiting > 0 || $total > 0 ) { + if ( $checkouts > 0 || $overdues_count > 0 || $holds_pending > 0 || $holds_waiting > 0 || $total > 0 || $patron_note || $patron_messages->count ) { $template->param( dashboard_info => 1, checkouts => $checkouts, @@ -92,6 +97,8 @@ if ( $patron ) { holds_pending => $holds_pending, holds_waiting => $holds_waiting, total_owing => $total, + patron_messages => $patron_messages, + opacnote => $patron_note, ); } } -- 2.11.0