Seperating message receiving off into 'inbox' function.
This commit is contained in:
parent
b982bc6b19
commit
e6af088dda
5 changed files with 63 additions and 58 deletions
|
@ -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
|
||||
|
|
|
@ -25,7 +25,9 @@
|
|||
|
||||
<span id="greeting">
|
||||
<% 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'}%> |
|
||||
|
|
51
app/views/message/inbox.rhtml
Normal file
51
app/views/message/inbox.rhtml
Normal file
|
@ -0,0 +1,51 @@
|
|||
<h2>My inbox</h2>
|
||||
|
||||
<p>You have <%=@user.get_new_messages.length %> new messages and <%=@user.get_all_messages.length - @user.get_new_messages.length %> old messages</p>
|
||||
|
||||
<% if (params[:all] and @user.get_all_messages.length > 0) or (@user.get_new_messages.length > 0) %>
|
||||
<div id="messages">
|
||||
<table class="messages">
|
||||
<tr><th>from</th>
|
||||
<th>title</th>
|
||||
<th>received on</th>
|
||||
<th></th>
|
||||
<th></th></tr>
|
||||
|
||||
<% if params[:all] %>
|
||||
<% @user.get_all_messages.each do |message| %>
|
||||
<tr><td><%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %></td>
|
||||
<td><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %></td>
|
||||
<td><%= message.sent_on %></td>
|
||||
<% if message.message_read = 0 %>
|
||||
<td><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> </td>
|
||||
<%else%>
|
||||
<td>message read</td>
|
||||
<%end%>
|
||||
<td><%= link_to 'reply', :controller => 'message', :action => 'new', :user_id => message.from_user_id %> </td>
|
||||
</tr>
|
||||
<%end%>
|
||||
|
||||
<%else%>
|
||||
|
||||
<% @user.get_new_messages.each do |message| %>
|
||||
<tr><td><%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %></td>
|
||||
<td><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %></td>
|
||||
<td><%= message.sent_on %></td>
|
||||
<% if message.message_read = 0 %>
|
||||
<td><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> </td>
|
||||
<%else%>
|
||||
<td>message read</td>
|
||||
<%end%>
|
||||
</tr>
|
||||
<%end%>
|
||||
<%end%>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<%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 %>
|
|
@ -17,4 +17,4 @@ body: <%= text_area 'message', 'body' %><br>
|
|||
|
||||
<br />
|
||||
|
||||
<%= link_to 'Back to my account', :controller => 'user', :action => 'account' %>
|
||||
<%= link_to 'Back to inbox', :controller => 'message', :action => 'inbox', :display_name => @user.display_name %>
|
||||
|
|
|
@ -2,59 +2,6 @@
|
|||
<div id="description"><%= simple_format(@this_user.description) %></div>
|
||||
|
||||
<% if @user and @this_user.id == @user.id %>
|
||||
<h3>Messages</h3>
|
||||
<% if !@user.messages.empty? %>
|
||||
<p>You have <%=@user.get_new_messages.length %> new messages and <%=@user.get_all_messages.length - @user.get_new_messages.length %> old messages:</p>
|
||||
|
||||
<div id="messages">
|
||||
<table class="messages">
|
||||
<tr><th>from</th>
|
||||
<th>title</th>
|
||||
<th>received on</th>
|
||||
<th></th>
|
||||
<th></th></tr>
|
||||
|
||||
<% if params[:unread] %>
|
||||
<% @user.get_all_messages.each do |message| %>
|
||||
<tr><td><%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %></td>
|
||||
<td><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %></td>
|
||||
<td><%= message.sent_on %></td>
|
||||
<% if message.message_read = 0 %>
|
||||
<td><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> </td>
|
||||
<%else%>
|
||||
<td>message read</td>
|
||||
<%end%>
|
||||
<td><%= link_to 'reply', :controller => 'message', :action => 'new', :user_id => message.from_user_id %> </td>
|
||||
<%end%>
|
||||
</tr>
|
||||
|
||||
<%else%>
|
||||
|
||||
<% @user.get_new_messages.each do |message| %>
|
||||
<tr><td><%= link_to User.find(message.from_user_id).display_name , :controller => 'user', :action => User.find(message.from_user_id).display_name %></td>
|
||||
<td><%= link_to message.title , :controller => 'message', :action => 'read', :message_id => message.id %></td>
|
||||
<td><%= message.sent_on %></td>
|
||||
<% if message.message_read = 0 %>
|
||||
<td><%= link_to 'mark as read', :controller => 'message', :action => 'mark', :message_id => message.id %> </td>
|
||||
<%else%>
|
||||
<td>message read</td>
|
||||
<%end%>
|
||||
</tr>
|
||||
|
||||
<%end%>
|
||||
|
||||
<%end%>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<%else%>
|
||||
<p>You have no messages. </p>
|
||||
<%end%>
|
||||
|
||||
<br />
|
||||
<%= link_to 'show all messages', :controller => 'user', :action => 'view', :display_name => @user.display_name, :unread => true %>
|
||||
|
||||
|
||||
<h3>Your diary</h3>
|
||||
<%= link_to 'View your diary', :controller => 'user', :action=>'diary', :display_name => @user.display_name %><br/>
|
||||
<%= link_to 'New diary post', :controller => 'diary_entry', :action=>'new', :display_name => @user.display_name %>
|
||||
|
|
Loading…
Add table
Reference in a new issue