diff options
author | MrYummy <elemental428@gmail.com> | 2017-06-13 03:48:30 +0200 |
---|---|---|
committer | MrYummy <elemental428@gmail.com> | 2017-06-13 03:48:30 +0200 |
commit | 80026caebc9f0cffeba3153949b393b2df64f12f (patch) | |
tree | c7eeabb494ae24889a4be5f22f418ba7adaf5ce0 | |
parent | f00677a68bc446c7ba9a2c03116ba6fa6ee7fc66 (diff) |
Added subject support to messages
-rw-r--r-- | app/controllers/messages_controller.rb | 8 | ||||
-rw-r--r-- | app/models/message.rb | 3 | ||||
-rw-r--r-- | app/views/forumthreads/new.html.erb | 2 | ||||
-rw-r--r-- | app/views/messages/index.html.erb | 6 | ||||
-rw-r--r-- | 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 %> <p><%= f.submit "Create thread", class: "btn blue left" %></p> <div class="clear"></div> -<% 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 %> + <span style="font-size:18px"> + | + <b><%= link_to message.subject, messages_path %></b> + </span> <div class="right"> <%= link_to "Delete message", message, :method => "delete", class: "editlink", data: {confirm: "Delete this message forever?"} %> </div> @@ -25,7 +29,7 @@ </div> <div class="items"> <div class="item"> - <%= render_md(message.text).html_safe %> + <%= render_md(truncate message.text, length: 20, omission: "...").html_safe %> </div> </div> </div> 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 @@ <br> <tr> <td> - <%= render partial: "md_editor", locals: {name: "message[text]", content: params[:text]} %> + <%= f.text_field :subject, placeholder: "Subject" %> + </td> + </tr> + <br><br> + <tr> + <td> + <%= render partial: "md_editor", locals: {name: "message[text]", content: params[:text]} %> </td> </tr> </table> |