1 # frozen_string_literal: true
4 class RepliesController < ApplicationController
7 before_action :authorize_web
8 before_action :set_locale
10 authorize_resource :class => Message
12 before_action :check_database_readable
13 before_action :check_database_writable
15 allow_thirdparty_images
17 # Allow the user to reply to another message.
19 message = Message.find(params[:message_id])
21 if message.recipient == current_user
22 message.update(:message_read => true)
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(/^/, '> ')}"
30 @title = @message.title
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(/^/, '> ')}"
40 @title = @message.title
44 flash[:notice] = t ".wrong_user", :user => current_user.display_name
45 redirect_to login_path(:referer => request.fullpath)
47 rescue ActiveRecord::RecordNotFound
48 @title = t "messages.no_such_message.title"
49 render "messages/no_such_message", :status => :not_found