From 80026caebc9f0cffeba3153949b393b2df64f12f Mon Sep 17 00:00:00 2001 From: MrYummy Date: Tue, 13 Jun 2017 03:48:30 +0200 Subject: Added subject support to messages --- app/controllers/messages_controller.rb | 8 ++++++-- app/models/message.rb | 3 ++- app/views/forumthreads/new.html.erb | 2 +- app/views/messages/index.html.erb | 6 +++++- app/views/messages/new.html.erb | 8 +++++++- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 778f755..480a671 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -26,7 +26,11 @@ class MessagesController < ApplicationController redirect_to new_message_path return end - if message_params[:text].blank? + if message_params[:subject].blank? + flash[:alert] = "Please write a subject before sending." + redirect_to new_message_path + return + elsif message_params[:text].blank? flash[:alert] = "Please write a message before sending." redirect_to new_message_path return @@ -70,7 +74,7 @@ class MessagesController < ApplicationController params[:message][:user_target_id] = User.find_by(ign: params[:message][:user_target].strip).try(:id) params[:message][:user_sender_id] = User.find_by(ign: params[:message][:user_sender]).id - params.require(:message).permit([:text, :user_target_id, :user_sender_id]) + params.require(:message).permit([:subject, :text, :user_target_id, :user_sender_id]) end private diff --git a/app/models/message.rb b/app/models/message.rb index 0634b6b..3c5ad58 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -5,9 +5,10 @@ class Message < ActiveRecord::Base belongs_to :user_sender, class_name: "User", foreign_key: "user_sender_id" belongs_to :user_target, class_name: "User", foreign_key: "user_target_id" - validates_presence_of :user_sender, :user_target, :text, on: :create + validates_presence_of :user_sender, :user_target, :text, :subject validates_length_of :text, in: 1..8000 + validates_length_of :subject, in: 1..2000 def sender @sender ||= if self.user_sender.present? diff --git a/app/views/forumthreads/new.html.erb b/app/views/forumthreads/new.html.erb index 2e1d7e0..c97736d 100644 --- a/app/views/forumthreads/new.html.erb +++ b/app/views/forumthreads/new.html.erb @@ -32,4 +32,4 @@ <%= f.hidden_field :forum_id %>

<%= f.submit "Create thread", class: "btn blue left" %>

-<% end %> \ No newline at end of file +<% end %> diff --git a/app/views/messages/index.html.erb b/app/views/messages/index.html.erb index 562c14e..036243d 100644 --- a/app/views/messages/index.html.erb +++ b/app/views/messages/index.html.erb @@ -18,6 +18,10 @@ <%= link_to(message.user_sender.avatar(64), message.user_sender, title: message.user_sender.ign) %> <%= render partial: "users/username", locals: { user: message.user_sender } %> <%= ago message.created_at %> + +   |   + <%= link_to message.subject, messages_path %> +
<%= link_to "Delete message", message, :method => "delete", class: "editlink", data: {confirm: "Delete this message forever?"} %>
@@ -25,7 +29,7 @@
- <%= render_md(message.text).html_safe %> + <%= render_md(truncate message.text, length: 20, omission: "...").html_safe %>
diff --git a/app/views/messages/new.html.erb b/app/views/messages/new.html.erb index 656f3c6..80078f8 100644 --- a/app/views/messages/new.html.erb +++ b/app/views/messages/new.html.erb @@ -9,7 +9,13 @@
- <%= render partial: "md_editor", locals: {name: "message[text]", content: params[:text]} %> + <%= f.text_field :subject, placeholder: "Subject" %> + + +

+ + + <%= render partial: "md_editor", locals: {name: "message[text]", content: params[:text]} %> -- cgit v1.2.3