From dd193e740ad86c9841ed55f54b85fe91ee5da05a Mon Sep 17 00:00:00 2001 From: MrYummy Date: Thu, 15 Jun 2017 15:04:15 +0200 Subject: Added 'read' check; message name is only bold if unread --- app/controllers/messagereplies_controller.rb | 2 +- app/controllers/messages_controller.rb | 1 + app/views/messages/index.html.erb | 2 +- app/views/users/show.html.erb | 2 +- db/migrate/20170524181458_create_messages.rb | 4 +++- db/migrate/20170613144233_add_user_editor_to_messages.rb | 5 ----- db/schema.rb | 5 +++-- 7 files changed, 10 insertions(+), 11 deletions(-) delete mode 100644 db/migrate/20170613144233_add_user_editor_to_messages.rb diff --git a/app/controllers/messagereplies_controller.rb b/app/controllers/messagereplies_controller.rb index e01501b..c8272eb 100644 --- a/app/controllers/messagereplies_controller.rb +++ b/app/controllers/messagereplies_controller.rb @@ -16,7 +16,7 @@ class MessagerepliesController < ApplicationController @reply.user_author = current_user @reply.message = message if @reply.save - @reply.message.update_attributes(user_hidden: nil) + @reply.message.update_attributes(user_hidden: nil, read: false) if false @reply.send_new_message_reply_mail end diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 8f618d3..2f7357f 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -17,6 +17,7 @@ class MessagesController < ApplicationController end def show + Message.find(@message.id).update_attributes(read: true) if !@message.read && @message.user_target.is?(current_user) @replies = @message.replies.page(params[:page]) end diff --git a/app/views/messages/index.html.erb b/app/views/messages/index.html.erb index de78f9b..8ff289d 100644 --- a/app/views/messages/index.html.erb +++ b/app/views/messages/index.html.erb @@ -26,7 +26,7 @@ <%= render partial: "users/username", locals: { user: user } %>   - <%= link_to message.subject, message %> + "><%= link_to message.subject, message %>   |   <%= ago message.created_at %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index a48eae2..e2e9348 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -11,7 +11,7 @@ <%= link_to "edit profile", edit_user_path(@user), :class => "btn blue" %> <% end %> <% if @user.is?(current_user) %> - <%= link_to "Private Messages (#{Message.where("user_sender_id = ? OR user_target_id = ?", current_user.id, current_user.id).count})", messages_path, :class => "btn blue" %> + <%= link_to "Private Messages (#{Message.where(read: false).count})", messages_path, :class => "btn blue" %> <% elsif current_user %> <%= link_to "Send this user a message", new_message_path(user_target: @user.ign), :class => "btn blue" %> <% end %> diff --git a/db/migrate/20170524181458_create_messages.rb b/db/migrate/20170524181458_create_messages.rb index b253742..c0c1fa5 100644 --- a/db/migrate/20170524181458_create_messages.rb +++ b/db/migrate/20170524181458_create_messages.rb @@ -6,7 +6,9 @@ class CreateMessages < ActiveRecord::Migration t.references :user_target t.references :user_editor t.references :user_hidden - t.datetime :created_at + t.boolean :read, default: false + + t.timestamps null: true end end end diff --git a/db/migrate/20170613144233_add_user_editor_to_messages.rb b/db/migrate/20170613144233_add_user_editor_to_messages.rb deleted file mode 100644 index cc4c7f7..0000000 --- a/db/migrate/20170613144233_add_user_editor_to_messages.rb +++ /dev/null @@ -1,5 +0,0 @@ -class AddUserEditorToMessages < ActiveRecord::Migration - def change - add_reference :messages, :user_editor - end -end diff --git a/db/schema.rb b/db/schema.rb index 269d20e..d7221e9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170613144233) do +ActiveRecord::Schema.define(version: 20170613021450) do create_table "blogposts", force: :cascade do |t| t.string "title", limit: 191 @@ -89,11 +89,12 @@ ActiveRecord::Schema.define(version: 20170613144233) do t.text "text", limit: 65535 t.integer "user_sender_id", limit: 4 t.integer "user_target_id", limit: 4 + t.integer "user_editor_id", limit: 4 t.integer "user_hidden_id", limit: 4 + t.boolean "read", default: false t.datetime "created_at" t.datetime "updated_at" t.string "subject", limit: 191 - t.integer "user_editor_id", limit: 4 end create_table "register_tokens", force: :cascade do |t| -- cgit v1.2.3