Sha256: 1838c538b752ebca1b74ede0ced15f3a3e0923764f98400043fb01cb7fa2e0a1

Contents?: true

Size: 1.52 KB

Versions: 12

Compression:

Stored size: 1.52 KB

Contents

require_dependency "my_forum/application_controller"

module MyForum
  class PrivateMessagesController < ApplicationController

    before_filter :only_for_registered_users

    def index
      @private_messages = PrivateMessage.inbox_for(current_user).paginate(per_page: 16, page: params[:page])
      render :inbox
    end

    def inbox

    end

    def outbox

    end

    def deleted

    end

    def new
      @pm = PrivateMessage.new
      @reply_pm = PrivateMessage.find(params[:reply_for_id]) if params[:reply_for_id]
    end

    def create
      @pm = PrivateMessage.new
      recipient = begin
        User.find_by_login(params[:private_message].delete(:recipient))
      rescue
        #TODO send notification to admin
        nil
      end

      unless recipient
        @pm.errors.add(:base, t('.cant_find_recipient'))
        render :new
        return
      end

      @pm.recipient_id    = recipient.id
      @pm.recipient_login = recipient.login
      @pm.sender_id       = current_user_id
      @pm.sender_login    = current_user.login
      @pm.assign_attributes(pm_params)

      UserMailer.pm_notification(recipient, current_user).deliver_now if @pm.save

      redirect_to action: :index
    end

    def show
      @pm = PrivateMessage.inbox_for(current_user).find(params[:id])
      @pm.update!(unread: false)
    end

    private

    def pm_params
      params.require(:private_message).permit(:subject, :body)
    end

    def only_for_registered_users
      redirect_to root_path unless current_user
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
my_forum-0.0.1.beta35 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta34 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta33 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta32 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta31 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta30 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta29 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta28 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta27 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta26 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta25 app/controllers/my_forum/private_messages_controller.rb
my_forum-0.0.1.beta24 app/controllers/my_forum/private_messages_controller.rb