]> git.openstreetmap.org Git - rails.git/blob - app/controllers/messages/replies_controller.rb
Add frozen_string_literal comments to ruby files
[rails.git] / app / controllers / messages / replies_controller.rb
1 # frozen_string_literal: true
2
3 module Messages
4   class RepliesController < ApplicationController
5     layout :site_layout
6
7     before_action :authorize_web
8     before_action :set_locale
9
10     authorize_resource :class => Message
11
12     before_action :check_database_readable
13     before_action :check_database_writable
14
15     allow_thirdparty_images
16
17     # Allow the user to reply to another message.
18     def new
19       message = Message.find(params[:message_id])
20
21       if message.recipient == current_user
22         message.update(:message_read => true)
23
24         @message = Message.new(
25           :recipient => message.sender,
26           :title => "Re: #{message.title.sub(/^Re:\s*/, '')}",
27           :body => "On #{message.sent_on} #{message.sender.display_name} wrote:\n\n#{message.body.gsub(/^/, '> ')}"
28         )
29
30         @title = @message.title
31
32         render "messages/new"
33       elsif message.sender == current_user
34         @message = Message.new(
35           :recipient => message.recipient,
36           :title => "Re: #{message.title.sub(/^Re:\s*/, '')}",
37           :body => "On #{message.sent_on} #{message.sender.display_name} wrote:\n\n#{message.body.gsub(/^/, '> ')}"
38         )
39
40         @title = @message.title
41
42         render "messages/new"
43       else
44         flash[:notice] = t ".wrong_user", :user => current_user.display_name
45         redirect_to login_path(:referer => request.fullpath)
46       end
47     rescue ActiveRecord::RecordNotFound
48       @title = t "messages.no_such_message.title"
49       render "messages/no_such_message", :status => :not_found
50     end
51   end
52 end