Bug 26123 - Show info about existing OPAC note/Patron message on patron's dashboard
Summary: Show info about existing OPAC note/Patron message on patron's dashboard
Status: Signed Off
Alias: None
Product: Koha
Classification: Unclassified
Component: OPAC (show other bugs)
Version: master
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Lucas Gass
QA Contact: Testopia
URL:
Keywords: Academy
Depends on:
Blocks:
 
Reported: 2020-08-02 11:39 UTC by Katrin Fischer
Modified: 2020-11-04 09:29 UTC (History)
6 users (show)

See Also:
Change sponsored?: ---
Patch complexity: Small patch
Who signed the patch off:
Text to go in the release notes:
Version(s) released in:


Attachments
Bug 26123: Add notice about new messages to the patron dashboard (3.27 KB, patch)
2020-08-02 22:34 UTC, Lucas Gass
Details | Diff | Splinter Review
Bug 26123: Add notice about new messages to the patron dashboard (3.34 KB, patch)
2020-08-03 10:24 UTC, ByWater Sandboxes
Details | Diff | Splinter Review
Bug 26123: Add notice about new messages to the patron dashboard (4.29 KB, patch)
2020-08-17 23:20 UTC, Lucas Gass
Details | Diff | Splinter Review
Error (7.60 KB, image/png)
2020-08-25 17:22 UTC, Amit Gupta
Details
Bug 26123: Add OPAC note/patron message notice to dashboard (3.85 KB, patch)
2020-08-26 01:45 UTC, Lucas Gass
Details | Diff | Splinter Review
Bug 26123: Add message notification to patron dashboard (3.92 KB, patch)
2020-10-07 14:58 UTC, Lucas Gass
Details | Diff | Splinter Review
Bug 26123: Add message notification to patron dashboard (4.11 KB, patch)
2020-10-22 02:54 UTC, Lucas Gass
Details | Diff | Splinter Review
Bug 26123: Add message notification to patron dashboard (4.16 KB, patch)
2020-10-23 06:40 UTC, Séverine Queune
Details | Diff | Splinter Review
Bug 26123: Add message notification to patron dashboard (4.27 KB, patch)
2020-10-26 14:16 UTC, Lucas Gass
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Katrin Fischer 2020-08-02 11:39:42 UTC
The patron dashboard visible on the start page of the OPAC when activated could also show a note about an existing OPAC note in the patron account. For privacy it might be nice to just show something like "you've got a message".
Comment 1 Lucas Gass 2020-08-02 22:34:03 UTC
Created attachment 107664 [details] [review]
Bug 26123: Add notice about new messages to the patron dashboard

This patch adds a notice to the patron OPAC when a logged on user of the OPAC has 1 or more OPAC messages.
Test plan:
1. Apply patch, restart_all.
2. Add some OPAC messages for a patron and login as that patron.
3. On the OPAC main page you should see a notice about your OPAC messages, incdicating how many you have.
4. Add multiple OPAC messages and make sure it all continues to work.
5. Test it with some other notices that would appear on the dashboard, checkouts, holds, overdues.
Comment 2 ByWater Sandboxes 2020-08-03 10:24:50 UTC
Created attachment 107685 [details] [review]
Bug 26123: Add notice about new messages to the patron dashboard

This patch adds a notice to the patron OPAC when a logged on user of the OPAC has 1 or more OPAC messages.
Test plan:
1. Apply patch, restart_all.
2. Add some OPAC messages for a patron and login as that patron.
3. On the OPAC main page you should see a notice about your OPAC messages, incdicating how many you have.
4. Add multiple OPAC messages and make sure it all continues to work.
5. Test it with some other notices that would appear on the dashboard, checkouts, holds, overdues.

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Comment 3 Sally 2020-08-03 10:27:12 UTC
This works well - is it possible to change the bug title?

It seems to refer to the OPAC Note section (found when editing the patron), but this patch uses the Messages feature instead.
Comment 4 Katrin Fischer 2020-08-07 11:51:44 UTC
Hi Lucas, could you please fix the missing filter and include the OPAC note as well?
Also thanks for taking this on!
Comment 5 Lucas Gass 2020-08-17 23:20:38 UTC
Created attachment 108427 [details] [review]
Bug 26123: Add notice about new messages to the patron dashboard

This patch adds a notice to the patron OPAC when a logged on user of the OPAC has 1 or more OPAC messages, this includes both patron messages and the OPAC note. For privacy this doesn't show any of the messages/note on opac-main.tt. Instead it adds up the total number of patron messages + OPAC notes and displays that number in the dashboard
Test plan:
1. Apply patch, restart_all.
2. Add some OPAC messages for a patron and login as that patron.
3. On the OPAC main page you should see a notice about your OPAC messages, incdicating how many you have.
4. Add multiple OPAC messages and make sure it all continues to work.
5. Also add an OPAC note, this should add 1 to the total number of messages on the dashboard.
6. Try an OPAC without any messages.
7. Test it with some other notices that would appear on the dashboard, checkouts, holds, overdues.
Comment 6 Amit Gupta 2020-08-25 17:21:00 UTC
After applying the patch. If I am hitting 

http://localhost

OPAC page without login. I am getting error.

Software error:

Can't call method "unblessed" on an undefined value at /home/amit/kohaclonemaster/opac/opac-main.pl line 79.
Comment 7 Amit Gupta 2020-08-25 17:22:23 UTC
Created attachment 109122 [details]
Error
Comment 8 Amit Gupta 2020-08-25 17:42:58 UTC
QA comments

I think need to correction for ex:

-my $borr = $patron->unblessed;
-    my $patron_note = $borr->{opacnote};
+    my $patron_note = $patron->opacnote;
Comment 9 Lucas Gass 2020-08-26 01:45:56 UTC
Created attachment 109134 [details] [review]
Bug 26123: Add OPAC note/patron message notice to dashboard

I seperated OPAC note and patron message into two distinct categories with seperate notices for each. Slightly altered test plan

Test plan:
1. Apply patch, restartgit
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. Refrsh the OPAC and you should see a notice like '1 note'. There is never more than a single OPAC note.
6. Try an OPAC without any messages.
7. Test it with some other notices that would appear on the dashboard, checkouts, holds, overdues.
Comment 10 Lucas Gass 2020-08-26 01:47:02 UTC
Amit,

Thank you! I believe you were correct when suggesting: my $patron_note = $patron->opacnote;
Comment 11 Owen Leonard 2020-08-26 12:25:22 UTC
Would it be possible to combine the count of notes and messages? The distinction from the patron's point of view is meaningless.

Notes and messages both displayed together in the same area on the user's page with no indication that they're different kinds of messages, so two different counts don't make sense.
Comment 12 Lucas Gass 2020-08-26 15:00:30 UTC
(In reply to Owen Leonard from comment #11)
> Would it be possible to combine the count of notes and messages? The
> distinction from the patron's point of view is meaningless.
> 
> Notes and messages both displayed together in the same area on the user's
> page with no indication that they're different kinds of messages, so two
> different counts don't make sense.

Owen, I was wondering about that too after I submitted the patch. I will combine them into one.
Comment 13 Lucas Gass 2020-10-07 14:58:21 UTC
Created attachment 111336 [details] [review]
Bug 26123: Add message notification to patron dashboard

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.
7. Test it with some other notices that would appear on the dashboard, checkouts, holds, overdues.
Comment 14 Fridolin Somers 2020-10-08 06:37:27 UTC
Nice job.

Just my opinion :

Would be great to send Koha::Patron object to template.
So call in template [% patron.opacnote %].

Also add in Koha::Patron a method messages() to get : Koha::Patron::Messages->search({borrowernumber => $borrowernumber})
Like it exists for checkouts, holds ...
So in template you just add [% patron.messages.count %]
Comment 15 Katrin Fischer 2020-10-16 01:31:18 UTC
Hi Lucas, I think you need to limit the messages to the OPAC ones (they can be either for OPAC or staff only.
Comment 16 Lucas Gass 2020-10-22 02:54:18 UTC
Created attachment 112139 [details] [review]
Bug 26123: Add message notification to patron dashboard

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.
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.
Comment 17 Séverine Queune 2020-10-23 06:40:44 UTC
Created attachment 112227 [details] [review]
Bug 26123: Add message notification to patron dashboard

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.
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 <severine.queune@bulac.fr>
Comment 18 Katrin Fischer 2020-10-23 10:30:49 UTC
Hi Lucas, I believe there is something wrong about this line here, as the empty box shows when no notes, checkouts, holds, etc are on the account now, when it should be hidden:

+    if  ( $checkouts > 0 || $overdues_count > 0 || $holds_pending > 0 || $holds_waiting > 0 || $total > 0 || $patron_messages > 0 || $patron_note > 0 ) {

I suspect the $patron_messages > 0 might not be working. What do you think?
Comment 19 Lucas Gass 2020-10-26 14:16:12 UTC
(In reply to Katrin Fischer from comment #18)
> Hi Lucas, I believe there is something wrong about this line here, as the
> empty box shows when no notes, checkouts, holds, etc are on the account now,
> when it should be hidden:
> 
> +    if  ( $checkouts > 0 || $overdues_count > 0 || $holds_pending > 0 ||
> $holds_waiting > 0 || $total > 0 || $patron_messages > 0 || $patron_note > 0
> ) {
> 
> I suspect the $patron_messages > 0 might not be working. What do you think?

Cait, you're right. I think 'patron_messages > 0' needs to be $patron_messages->count

Also $patron_note, having only one possible note, can be $patron_note instead of $patron_note > 0.
Comment 20 Lucas Gass 2020-10-26 14:16:53 UTC
Created attachment 112519 [details] [review]
Bug 26123: Add message notification to patron dashboard

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 <severine.queune@bulac.fr>