Class: Mails::MessagesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/mails/messages_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#authenticate_user!, #current_user, #set_seo_meta

Instance Method Details

#createObject



23
24
25
26
27
28
29
30
31
32
# File 'app/controllers/mails/messages_controller.rb', line 23

def create
  @item = Message.new(message_params)
  @item.sender = current_user

  if @item.save
    redirect_to(messages_path(), notice: t('mails.pm_created'))
  else
    render action: "new"
  end
end

#indexObject



3
4
5
6
7
# File 'app/controllers/mails/messages_controller.rb', line 3

def index
  @items = Message.where(receiver_id: current_user.id).recent.includes(:sender).page(params[:page])

  set_seo_meta(t("mails.nav.pm"))
end

#newObject



9
10
11
12
13
# File 'app/controllers/mails/messages_controller.rb', line 9

def new
  @item = Message.new

  set_seo_meta(t("mails.nav.new"))
end

#showObject



15
16
17
18
19
20
21
# File 'app/controllers/mails/messages_controller.rb', line 15

def show
  @item = Message.find_by(id: params[:id], receiver_id: current_user.id)
  @item ||= Message.find_by(id: params[:id], sender_id: current_user.id)
  @item.update_attribute(:read_at, Time.now)
  
  set_seo_meta(t("mails.nav.pm"))
end