foodsoft/lib/foodsoft_messages/app/controllers/messages_controller.rb

37 lines
1.1 KiB
Ruby
Raw Normal View History

2009-01-06 11:49:19 +01:00
class MessagesController < ApplicationController
before_filter -> { require_plugin_enabled FoodsoftMessages }
2009-01-06 11:49:19 +01:00
# Renders the "inbox" action.
def index
@messages = Message.public.page(params[:page]).per(@per_page).order('created_at DESC').includes(:sender)
2009-01-06 11:49:19 +01:00
end
2009-01-06 11:49:19 +01:00
# Creates a new message object.
def new
@message = Message.new(params[:message])
if @message.reply_to and not @message.reply_to.is_readable_for?(current_user)
redirect_to new_message_url, alert: 'Nachricht ist privat!'
end
2009-01-06 11:49:19 +01:00
end
2009-01-06 11:49:19 +01:00
# Creates a new message.
def create
@message = @current_user.send_messages.new(params[:message])
if @message.save
2014-03-07 09:51:24 +01:00
Resque.enqueue(MessageNotifier, FoodsoftConfig.scope, 'message_deliver', @message.id)
redirect_to messages_url, :notice => I18n.t('messages.create.notice')
2009-01-06 11:49:19 +01:00
else
render :action => 'new'
end
end
2009-01-06 11:49:19 +01:00
# Shows a single message.
def show
@message = Message.find(params[:id])
unless @message.is_readable_for?(current_user)
redirect_to messages_url, alert: 'Nachricht ist privat!'
end
2009-01-06 11:49:19 +01:00
end
end