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