LP#1410369: Show unread message count in the patron dashboard
authorMike Rylander <mrylander@gmail.com>
Wed, 18 Feb 2015 21:40:50 +0000 (16:40 -0500)
committerBill Erickson <berickxx@gmail.com>
Fri, 20 Feb 2015 21:58:17 +0000 (16:58 -0500)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Kathy Lussier <klussier@masslnc.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
Open-ILS/src/templates/opac/css/style.css.tt2
Open-ILS/src/templates/opac/parts/topnav.tt2

index 9b4658a..4e3df18 100644 (file)
@@ -1744,6 +1744,11 @@ sub user_opac_vitals {
 
     $out->{"total_out"} = reduce { $a + $out->{$b} } 0, qw/out overdue long_overdue/;
 
+    my $unread_msgs = $e->search_actor_usr_message([
+        {usr => $user_id, read_date => undef, deleted => 'f'},
+        {idlist => 1}
+    ]);
+
     return {
         user => {
             first_given_name  => $user->first_given_name,
@@ -1754,7 +1759,8 @@ sub user_opac_vitals {
         },
         fines => $fines->to_bare_hash,
         checkouts => $out,
-        holds => $holds
+        holds => $holds,
+        messages => { unread => scalar(@$unread_msgs) }
     };
 }
 
index 277e82b..a0cac5d 100644 (file)
@@ -136,6 +136,7 @@ is too low for WCAG compliance.  Use "text_attention"
 for now until a better color is picked - if needed.
 */
 #dash_fines { color: [% css_colors.text_attention %]; }
+#dash_messages { color: [% css_colors.text_attention %]; }
 
 #header-wrap {
     background: linear-gradient([% css_colors.primary %], [% css_colors.primary_fade %]);
index 0cf554c..e2a961c 100644 (file)
                         %]"><span id="dash_fines">[% money(ctx.user_stats.fines.balance_owed)
                         %]</span> [% l("Fines") %]</a>
                 </span>
+                <span class="dash_divider">|</span>
+                <span class="dash-align">
+                    <a class="dash-link" href="[% mkurl(ctx.opac_root _ '/myopac/messages')
+                        %]"><span id="dash_messages">[% ctx.user_stats.messages.unread
+                        %]</span> [% l("Unread Messages") %]</a>
+                </span>
             </div>
         </div>
         [% END %]