Allow messages to be deleted from the outbox as well as the inbox.
This commit is contained in:
parent
f3bf0c8b14
commit
581c243e0e
7 changed files with 26 additions and 5 deletions
|
@ -110,12 +110,18 @@ class MessageController < ApplicationController
|
||||||
if params[:message_id]
|
if params[:message_id]
|
||||||
id = params[:message_id]
|
id = params[:message_id]
|
||||||
message = Message.find_by_id(id)
|
message = Message.find_by_id(id)
|
||||||
message.visible = false
|
message.from_user_visible = false if message.sender == @user
|
||||||
|
message.to_user_visible = false if message.recipient == @user
|
||||||
if message.save
|
if message.save
|
||||||
flash[:notice] = t 'message.delete.deleted'
|
flash[:notice] = t 'message.delete.deleted'
|
||||||
|
|
||||||
|
if params[:referer]
|
||||||
|
redirect_to params[:referer]
|
||||||
|
else
|
||||||
redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name
|
redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
rescue ActiveRecord::RecordNotFound
|
rescue ActiveRecord::RecordNotFound
|
||||||
@title = t'message.no_such_user.title'
|
@title = t'message.no_such_user.title'
|
||||||
render :action => 'no_such_user', :status => :not_found
|
render :action => 'no_such_user', :status => :not_found
|
||||||
|
|
|
@ -3,9 +3,9 @@ class User < ActiveRecord::Base
|
||||||
|
|
||||||
has_many :traces
|
has_many :traces
|
||||||
has_many :diary_entries, :order => 'created_at DESC'
|
has_many :diary_entries, :order => 'created_at DESC'
|
||||||
has_many :messages, :foreign_key => :to_user_id, :conditions => { :visible => true }, :order => 'sent_on DESC'
|
has_many :messages, :foreign_key => :to_user_id, :conditions => { :to_user_visible => true }, :order => 'sent_on DESC'
|
||||||
has_many :new_messages, :class_name => "Message", :foreign_key => :to_user_id, :conditions => { :message_read => false }, :order => 'sent_on DESC'
|
has_many :new_messages, :class_name => "Message", :foreign_key => :to_user_id, :conditions => { :message_read => false }, :order => 'sent_on DESC'
|
||||||
has_many :sent_messages, :class_name => "Message", :foreign_key => :from_user_id, :order => 'sent_on DESC'
|
has_many :sent_messages, :class_name => "Message", :foreign_key => :from_user_id, :conditions => { :from_user_visible => true }, :order => 'sent_on DESC'
|
||||||
has_many :friends, :include => :befriendee, :conditions => ["users.visible = ?", true]
|
has_many :friends, :include => :befriendee, :conditions => ["users.visible = ?", true]
|
||||||
has_many :tokens, :class_name => "UserToken"
|
has_many :tokens, :class_name => "UserToken"
|
||||||
has_many :preferences, :class_name => "UserPreference"
|
has_many :preferences, :class_name => "UserPreference"
|
||||||
|
|
|
@ -10,5 +10,5 @@
|
||||||
<td><%= button_to t('message.message_summary.read_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %></td>
|
<td><%= button_to t('message.message_summary.read_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %></td>
|
||||||
<% end %>
|
<% end %>
|
||||||
<td><%= button_to t('message.message_summary.reply_button'), :controller => 'message', :action => 'reply', :message_id => message_summary.id %></td>
|
<td><%= button_to t('message.message_summary.reply_button'), :controller => 'message', :action => 'reply', :message_id => message_summary.id %></td>
|
||||||
<td><%= button_to t('message.message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => message_summary.id %></td>
|
<td><%= button_to t('message.message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => message_summary.id, :referer => request.request_uri %></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -4,4 +4,5 @@
|
||||||
<td class="inbox-sender" bgcolor="<%= this_colour %>"><%= link_to h(sent_message_summary.recipient.display_name), :controller => 'user', :action => sent_message_summary.recipient.display_name %></td>
|
<td class="inbox-sender" bgcolor="<%= this_colour %>"><%= link_to h(sent_message_summary.recipient.display_name), :controller => 'user', :action => sent_message_summary.recipient.display_name %></td>
|
||||||
<td class="inbox-subject" bgcolor="<%= this_colour %>"><%= link_to h(sent_message_summary.title), :controller => 'message', :action => 'read', :message_id => sent_message_summary.id %></td>
|
<td class="inbox-subject" bgcolor="<%= this_colour %>"><%= link_to h(sent_message_summary.title), :controller => 'message', :action => 'read', :message_id => sent_message_summary.id %></td>
|
||||||
<td class="inbox-sent nowrap" bgcolor="<%= this_colour %>"><%= l sent_message_summary.sent_on %></td>
|
<td class="inbox-sent nowrap" bgcolor="<%= this_colour %>"><%= l sent_message_summary.sent_on %></td>
|
||||||
|
<td><%= button_to t('message.sent_message_summary.delete_button'), :controller => 'message', :action => 'delete', :message_id => sent_message_summary.id, :referer => request.request_uri %></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<th><%= t'message.outbox.to' %></th>
|
<th><%= t'message.outbox.to' %></th>
|
||||||
<th><%= t'message.outbox.subject' %></th>
|
<th><%= t'message.outbox.subject' %></th>
|
||||||
<th><%= t'message.outbox.date' %></th>
|
<th><%= t'message.outbox.date' %></th>
|
||||||
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
<%= render :partial => "sent_message_summary", :collection => @user.sent_messages %>
|
<%= render :partial => "sent_message_summary", :collection => @user.sent_messages %>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -583,6 +583,8 @@ en:
|
||||||
reading_your_sent_messages: "Reading your sent messages"
|
reading_your_sent_messages: "Reading your sent messages"
|
||||||
to: "To"
|
to: "To"
|
||||||
back_to_outbox: "Back to outbox"
|
back_to_outbox: "Back to outbox"
|
||||||
|
sent_message_summary:
|
||||||
|
delete_button: "Delete"
|
||||||
mark:
|
mark:
|
||||||
as_read: "Message marked as read"
|
as_read: "Message marked as read"
|
||||||
as_unread: "Message marked as unread"
|
as_unread: "Message marked as unread"
|
||||||
|
|
11
db/migrate/037_add_sender_visible_to_message.rb
Normal file
11
db/migrate/037_add_sender_visible_to_message.rb
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
class AddSenderVisibleToMessage < ActiveRecord::Migration
|
||||||
|
def self.up
|
||||||
|
rename_column :messages, :visible, :to_user_visible
|
||||||
|
add_column :messages, :from_user_visible, :boolean, :default => true, :null => false
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.down
|
||||||
|
remove_column :messages, :from_user_visible
|
||||||
|
rename_column :messages, :to_user_visible, :visible
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue