From: Dan Karran Date: Wed, 20 Jun 2007 22:32:15 +0000 (+0000) Subject: Seperating message receiving off into 'inbox' function. X-Git-Tag: live~8353 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/e6af088dda8e85f53b11ffbaddb11edf08e4a046?hp=b982bc6b19a3b14eba653088d917c6fe514db396 Seperating message receiving off into 'inbox' function. --- diff --git a/app/controllers/message_controller.rb b/app/controllers/message_controller.rb index 0fc5f212b..e9ad1968c 100644 --- a/app/controllers/message_controller.rb +++ b/app/controllers/message_controller.rb @@ -20,7 +20,7 @@ class MessageController < ApplicationController if message.save flash[:notice] = 'Message sent' - redirect_to :controller => 'user', :action => 'view', :display_name => @user.display_name + redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name else @message.errors.add("Sending message failed") end @@ -37,6 +37,11 @@ class MessageController < ApplicationController end def inbox + @title = 'inbox' + if @user and params[:display_name] == @user.display_name + else + redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name + end end def mark @@ -45,8 +50,8 @@ class MessageController < ApplicationController message = Message.find_by_id(id) message.message_read = 1 if message.save - flash[:notice] = 'Message Marked as read' - redirect_to :controller => 'user', :action => 'view', :display_name => @user.display_name + flash[:notice] = 'Message marked as read' + redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name end end end diff --git a/app/views/layouts/site.rhtml b/app/views/layouts/site.rhtml index df6989bf8..54b7af10c 100644 --- a/app/views/layouts/site.rhtml +++ b/app/views/layouts/site.rhtml @@ -25,7 +25,9 @@ <% if @user %> - Welcome, <%= link_to @user.display_name, {:controller => 'user', :action => 'view', :display_name => @user.display_name}%> | + Welcome, <%= link_to @user.display_name, {:controller => 'user', :action => 'view', :display_name => @user.display_name}%> | + <% @inbox_weight = 'bold' if @user.get_new_messages.length > 0 %> + <%= link_to "inbox (#{@user.get_new_messages.length})", {:controller => 'message', :action => 'inbox', :display_name => @user.display_name}, {:style => "font-weight: #{@inbox_weight};" } %> | <%= link_to 'logout', {:controller => 'user', :action => 'logout', :referer => request.request_uri}, {:id => 'logoutanchor'}%> <% else %> <%= link_to 'log in', {:controller => 'user', :action => 'login', :referer => request.request_uri}, {:id => 'loginanchor'}%> | diff --git a/app/views/message/inbox.rhtml b/app/views/message/inbox.rhtml new file mode 100644 index 000000000..daae9cd64 --- /dev/null +++ b/app/views/message/inbox.rhtml @@ -0,0 +1,51 @@ +

My inbox

+ +

You have <%=@user.get_new_messages.length %> new messages and <%=@user.get_all_messages.length - @user.get_new_messages.length %> old messages

+ +<% if (params[:all] and @user.get_all_messages.length > 0) or (@user.get_new_messages.length > 0) %> +
+ + + + + + + + <% if params[:all] %> + <% @user.get_all_messages.each do |message| %> + + + + <% if message.message_read = 0 %> + + <%else%> + + <%end%> + + + <%end%> + + <%else%> + + <% @user.get_new_messages.each do |message| %> + + + + <% if message.message_read = 0 %> + + <%else%> + + <%end%> + + <%end%> + <%end%> + +
fromtitlereceived on
<%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %><%= message.sent_on %><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> message read<%= link_to 'reply', :controller => 'message', :action => 'new', :user_id => message.from_user_id %>
<%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %><%= message.sent_on %><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> message read
+
+<%end%> + +<% if params[:all] %> + <%= link_to 'show new messages', :controller => 'message', :action => 'inbox', :display_name => @user.display_name %> +<% else %> + <%= link_to 'show all messages', :controller => 'message', :action => 'inbox', :display_name => @user.display_name, :all => true %> +<% end %> \ No newline at end of file diff --git a/app/views/message/new.rhtml b/app/views/message/new.rhtml index 6e268e905..b2d31b842 100644 --- a/app/views/message/new.rhtml +++ b/app/views/message/new.rhtml @@ -17,4 +17,4 @@ body: <%= text_area 'message', 'body' %>

-<%= link_to 'Back to my account', :controller => 'user', :action => 'account' %> +<%= link_to 'Back to inbox', :controller => 'message', :action => 'inbox', :display_name => @user.display_name %> diff --git a/app/views/user/view.rhtml b/app/views/user/view.rhtml index 862f802ce..2090c2d5a 100644 --- a/app/views/user/view.rhtml +++ b/app/views/user/view.rhtml @@ -2,59 +2,6 @@
<%= simple_format(@this_user.description) %>
<% if @user and @this_user.id == @user.id %> -

Messages

-<% if !@user.messages.empty? %> -

You have <%=@user.get_new_messages.length %> new messages and <%=@user.get_all_messages.length - @user.get_new_messages.length %> old messages:

- -
- - - - - - - -<% if params[:unread] %> -<% @user.get_all_messages.each do |message| %> - - - -<% if message.message_read = 0 %> - -<%else%> - -<%end%> - -<%end%> - - -<%else%> - -<% @user.get_new_messages.each do |message| %> - - - -<% if message.message_read = 0 %> - -<%else%> - -<%end%> - - -<%end%> - -<%end%> -
fromtitlereceived on
<%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %><%= message.sent_on %><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> message read<%= link_to 'reply', :controller => 'message', :action => 'new', :user_id => message.from_user_id %>
<%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %><%= message.sent_on %><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> message read
-
- -<%else%> -

You have no messages.

-<%end%> - -
-<%= link_to 'show all messages', :controller => 'user', :action => 'view', :display_name => @user.display_name, :unread => true %> - -

Your diary

<%= link_to 'View your diary', :controller => 'user', :action=>'diary', :display_name => @user.display_name %>
<%= link_to 'New diary post', :controller => 'diary_entry', :action=>'new', :display_name => @user.display_name %>