if params[:message_id]
id = params[:message_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
flash[:notice] = t 'message.delete.deleted'
- redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name
+
+ if params[:referer]
+ redirect_to params[:referer]
+ else
+ redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name
+ end
end
end
rescue ActiveRecord::RecordNotFound
has_many :traces
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 :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 :tokens, :class_name => "UserToken"
has_many :preferences, :class_name => "UserPreference"
<td><%= button_to t('message.message_summary.read_button'), :controller => 'message', :action => 'mark', :message_id => message_summary.id, :mark => 'read' %></td>
<% 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.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>
<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-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>
<th><%= t'message.outbox.to' %></th>
<th><%= t'message.outbox.subject' %></th>
<th><%= t'message.outbox.date' %></th>
+ <th></th>
</tr>
<%= render :partial => "sent_message_summary", :collection => @user.sent_messages %>
</table>
reading_your_sent_messages: "Reading your sent messages"
to: "To"
back_to_outbox: "Back to outbox"
+ sent_message_summary:
+ delete_button: "Delete"
mark:
as_read: "Message marked as read"
as_unread: "Message marked as unread"
--- /dev/null
+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