Update the inbox link in the greeting bar when messages are marked
authorTom Hughes <tom@compton.nu>
Sun, 14 Mar 2010 16:02:30 +0000 (16:02 +0000)
committerTom Hughes <tom@compton.nu>
Sun, 14 Mar 2010 16:02:30 +0000 (16:02 +0000)
as read or unread.

app/controllers/message_controller.rb
app/views/layouts/_inbox.html.erb [new file with mode: 0644]
app/views/layouts/site.html.erb

index b5b3e45a75ecc98923167b649ca4d3116b2ac398..5db9cccfa052a0b623120133d1003e100377343e 100644 (file)
@@ -115,6 +115,7 @@ class MessageController < ApplicationController
       if message.save
         if request.xhr?
           render :update do |page|
+            page.replace "inboxanchor", :partial => "layouts/inbox"
             page.replace "inbox-count", :partial => "message_count"
             page.replace "inbox-#{message.id}", :partial => "message_summary", :object => message
           end
diff --git a/app/views/layouts/_inbox.html.erb b/app/views/layouts/_inbox.html.erb
new file mode 100644 (file)
index 0000000..1871661
--- /dev/null
@@ -0,0 +1,7 @@
+<%
+inbox_attributes = {}
+inbox_attributes[:id] = "inboxanchor"
+inbox_attributes[:class] = 'greeting-bar-unread' if @user.new_messages.size > 0
+inbox_attributes[:title] = t 'layouts.inbox_tooltip', :count => @user.new_messages.size
+%>
+<%= link_to t('layouts.inbox', :count => @user.new_messages.size), {:controller => 'message', :action => 'inbox', :display_name => @user.display_name}, inbox_attributes %>
index 9fdee1eec9accf4fe0b470b60135c6367aa3b5ec..5679f3e8bfcc5df4617394011b340c7ed5fa2bb3 100644 (file)
         <span id="full-greeting"><%= t 'layouts.welcome_user', :user_link => (link_to h(@user.display_name), {:controller => 'user', :action => 'view', :display_name => @user.display_name}, :title => t('layouts.welcome_user_link_tooltip')) %></span> 
         <span id="small-greeting"><%= link_to t('layouts.welcome_user_link_tooltip'), {:controller => 'user', :action => 'view', :display_name => @user.display_name} %></span> | 
         <%= yield :greeting %>
-        <%
-        inbox_attributes = {}
-        inbox_attributes[:class] = 'greeting-bar-unread' if @user.new_messages.size > 0
-        inbox_attributes[:title] = t 'layouts.inbox_tooltip', :count => @user.new_messages.size
-        %>
-        <%= link_to t('layouts.inbox', :count => @user.new_messages.size), {:controller => 'message', :action => 'inbox', :display_name => @user.display_name}, inbox_attributes %> |
+        <%= render :partial => "layouts/inbox" %> |
         <%= link_to t('layouts.logout'), {:controller => 'user', :action => 'logout', :session => request.session_options[:id], :referer => request.request_uri}, {:id => 'logoutanchor', :title => t('layouts.logout_tooltip'), :method => :post, :href => url_for(:controller => 'user', :action => 'logout', :referer => request.request_uri)}%>
       <% else %>
         <%= link_to t('layouts.log_in'), {:controller => 'user', :action => 'login', :referer => request.request_uri}, {:id => 'loginanchor', :title => t('layouts.log_in_tooltip')} %> |