]> git.openstreetmap.org Git - rails.git/blob - app/controllers/messages/read_marks_controller.rb
Merge pull request #5932 from tomhughes/frozen-strings
[rails.git] / app / controllers / messages / read_marks_controller.rb
1 # frozen_string_literal: true
2
3 module Messages
4   class ReadMarksController < ApplicationController
5     layout :site_layout
6
7     before_action :authorize_web
8     before_action :set_locale
9
10     authorize_resource :message
11
12     before_action :check_database_readable
13     before_action :check_database_writable
14
15     def create
16       mark true
17     end
18
19     def destroy
20       mark false
21     end
22
23     private
24
25     def mark(message_read)
26       @message = current_user.messages.unscope(:where => :muted).find(params[:message_id])
27       @message.message_read = message_read
28       if @message.save
29         flash[:notice] = t ".notice"
30         if @message.muted?
31           redirect_to messages_muted_inbox_path, :status => :see_other
32         else
33           redirect_to messages_inbox_path, :status => :see_other
34         end
35       end
36     rescue ActiveRecord::RecordNotFound
37       @title = t "messages.no_such_message.title"
38       render :template => "messages/no_such_message", :status => :not_found
39     end
40   end
41 end