Archived
Link to 'all messages' in message email fixed, added "delete_all" action
This commit is contained in:
@@ -1,35 +1,32 @@
|
|||||||
class MessagesController < ApplicationController
|
class MessagesController < ApplicationController
|
||||||
|
|
||||||
before_filter :check_permission, only: [:destroy]
|
before_filter :check_permission, only: :destroy
|
||||||
|
|
||||||
def index
|
def index
|
||||||
if !current_user
|
if current_user
|
||||||
|
@messages = Message.where(user_target: current_user).page(params[:page])
|
||||||
|
else
|
||||||
flash[:alert] = "Please log in to see your private messages."
|
flash[:alert] = "Please log in to see your private messages."
|
||||||
redirect_to blogposts_path
|
redirect_to blogposts_path
|
||||||
end
|
end
|
||||||
@messages = Message.where(user_target: current_user).page(params[:page])
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def new
|
||||||
if @message.user_target.is?(current_user)
|
if current_user
|
||||||
if @message.destroy
|
@message = Message.new
|
||||||
flash[:notice] = "Message deleted!"
|
|
||||||
else
|
else
|
||||||
flash[:alert] = "There was a problem while deleting this message"
|
flash[:alert] = "Please log in to send a private message."
|
||||||
|
redirect_to blogposts_path
|
||||||
end
|
end
|
||||||
else
|
|
||||||
flash[:alert] = "You are not allowed to delete this message"
|
|
||||||
end
|
|
||||||
redirect_to messages_path
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
if !message_params[:user_target_id]
|
unless message_params[:user_target_id]
|
||||||
flash[:alert] = "Please enter a valid IGN before sending."
|
flash[:alert] = "Please enter a valid IGN before sending."
|
||||||
redirect_to new_message_path
|
redirect_to new_message_path
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if message_params[:text] == ""
|
if message_params[:text].blank?
|
||||||
flash[:alert] = "Please write a message before sending."
|
flash[:alert] = "Please write a message before sending."
|
||||||
redirect_to new_message_path
|
redirect_to new_message_path
|
||||||
return
|
return
|
||||||
@@ -40,21 +37,33 @@ class MessagesController < ApplicationController
|
|||||||
@message.send_new_message_mail
|
@message.send_new_message_mail
|
||||||
flash[:notice] = "Message sent!"
|
flash[:notice] = "Message sent!"
|
||||||
redirect_to messages_path
|
redirect_to messages_path
|
||||||
return
|
|
||||||
else
|
else
|
||||||
flash[:alert] = "Something went wrong while creating your message."
|
flash[:alert] = "Something went wrong while creating your message."
|
||||||
render action: "new"
|
render action: "new"
|
||||||
return
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def destroy
|
||||||
if !current_user
|
if @message.user_target.is?(current_user)
|
||||||
flash[:alert] = "Please log in to send a private message."
|
if @message.destroy
|
||||||
redirect_to blogposts_path
|
flash[:notice] = "Message deleted!"
|
||||||
return
|
else
|
||||||
|
flash[:alert] = "There was a problem while deleting this message."
|
||||||
end
|
end
|
||||||
@message = Message.new
|
else
|
||||||
|
flash[:alert] = "You are not allowed to delete this message."
|
||||||
|
end
|
||||||
|
redirect_to messages_path
|
||||||
|
end
|
||||||
|
|
||||||
|
def destroy_all
|
||||||
|
Message.destroy_all(user_target_id: current_user.id)
|
||||||
|
if Message.where(user_target_id: current_user.id).empty?
|
||||||
|
flash[:notice] = "Your messages have been deleted!"
|
||||||
|
else
|
||||||
|
flash[:alert] = "There was a problem while deleting your messages."
|
||||||
|
end
|
||||||
|
redirect_to messages_path
|
||||||
end
|
end
|
||||||
|
|
||||||
def message_params(add = [])
|
def message_params(add = [])
|
||||||
|
|||||||
@@ -1,5 +1,16 @@
|
|||||||
|
<% if @messages.any? %>
|
||||||
|
<%= link_to "Delete all messages", destroy_all_messages_path, method: "post", class: "btn blue right", data: {confirm: "Delete all of your messages forever?"} %>
|
||||||
|
<% end %>
|
||||||
<%= link_to "Create new message", new_message_path, class: "btn blue right" %>
|
<%= link_to "Create new message", new_message_path, class: "btn blue right" %>
|
||||||
<h3>Your private messages:</h3>
|
<br>
|
||||||
|
<h2>
|
||||||
|
<% if Message.where(user_target_id: current_user.id).any? %>
|
||||||
|
Your private messages:
|
||||||
|
<% else %>
|
||||||
|
You have no private messages.
|
||||||
|
<% end %>
|
||||||
|
</h2>
|
||||||
|
|
||||||
<div id="forum_groups">
|
<div id="forum_groups">
|
||||||
<% @messages.each do |message| %>
|
<% @messages.each do |message| %>
|
||||||
<div class="item-group with-avatar">
|
<div class="item-group with-avatar">
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<%= render_md(@message.text).html_safe %>
|
<%= render_md(@message.text).html_safe %>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<p><%= link_to "Click here", messages_path %> to view your current messages.</p>
|
<p><%= link_to "Click here", messages_url %> to view your current messages.</p>
|
||||||
|
|
||||||
<p>If you have any questions or problems, just ask one of our <%= link_to "Staff", users_url(role: "staff"), style: "text-decoration: none; color: #4096EE;" %> in-game or on the forums!</p>
|
<p>If you have any questions or problems, just ask one of our <%= link_to "Staff", users_url(role: "staff"), style: "text-decoration: none; color: #4096EE;" %> in-game or on the forums!</p>
|
||||||
<p>Your Redstoner team</p>
|
<p>Your Redstoner team</p>
|
||||||
|
|||||||
@@ -42,6 +42,9 @@ Redstoner::Application.routes.draw do
|
|||||||
end
|
end
|
||||||
|
|
||||||
resources :messages do
|
resources :messages do
|
||||||
|
collection do
|
||||||
|
post 'destroy_all'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# get '/status' => 'status#show'
|
# get '/status' => 'status#show'
|
||||||
|
|||||||
Reference in New Issue
Block a user