summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMrYummy <elemental428@gmail.com>2017-06-13 03:48:30 +0200
committerMrYummy <elemental428@gmail.com>2017-06-13 03:48:30 +0200
commit80026caebc9f0cffeba3153949b393b2df64f12f (patch)
treec7eeabb494ae24889a4be5f22f418ba7adaf5ce0
parentf00677a68bc446c7ba9a2c03116ba6fa6ee7fc66 (diff)
Added subject support to messages
-rw-r--r--app/controllers/messages_controller.rb8
-rw-r--r--app/models/message.rb3
-rw-r--r--app/views/forumthreads/new.html.erb2
-rw-r--r--app/views/messages/index.html.erb6
-rw-r--r--app/views/messages/new.html.erb8
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">
+ &nbsp; | &nbsp;
+ <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>