diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/inboxes/base_controller.rb | 4 | ||||
| -rw-r--r-- | app/controllers/inboxes/discussions_controller.rb | 14 | ||||
| -rw-r--r-- | app/controllers/inboxes/messages_controller.rb | 16 | ||||
| -rw-r--r-- | app/controllers/inboxes/speakers_controller.rb | 16 | ||||
| -rw-r--r-- | app/views/inboxes/discussions/index.html.haml | 2 |
5 files changed, 28 insertions, 24 deletions
diff --git a/app/controllers/inboxes/base_controller.rb b/app/controllers/inboxes/base_controller.rb index 54767d2..da116a0 100644 --- a/app/controllers/inboxes/base_controller.rb +++ b/app/controllers/inboxes/base_controller.rb @@ -1,3 +1,7 @@ class Inboxes::BaseController < ApplicationController + private + def init_discussion + @discussion = Discussion.find(params[:discussion_id]) + end end
\ No newline at end of file diff --git a/app/controllers/inboxes/discussions_controller.rb b/app/controllers/inboxes/discussions_controller.rb index d901a80..ecc63f4 100644 --- a/app/controllers/inboxes/discussions_controller.rb +++ b/app/controllers/inboxes/discussions_controller.rb @@ -1,6 +1,7 @@ class Inboxes::DiscussionsController < Inboxes::BaseController - before_filter :authenticate_user! - before_filter :init_and_check_permissions, :only => :show + load_and_authorize_resource + # before_filter :authenticate_user! + # before_filter :init_and_check_permissions, :only => :show before_filter :load_and_check_discussion_recipient, :only => [:create, :new] def index @@ -10,6 +11,7 @@ class Inboxes::DiscussionsController < Inboxes::BaseController # GET /discussions/1 # GET /discussions/1.json def show + # @discussion = Discussion.includes(:messages, :speakers).find(params[:id]) @discussion.mark_as_read_for(current_user) end @@ -40,10 +42,10 @@ class Inboxes::DiscussionsController < Inboxes::BaseController private - def init_and_check_permissions - @discussion = Discussion.includes(:messages, :speakers).find(params[:id]) - redirect_to discussions_url, :notice => t("inboxes.discussions.can_not_participate") unless @discussion.can_participate?(current_user) - end + # def init_and_check_permissions + # @discussion = Discussion.includes(:messages, :speakers).find(params[:id]) + # redirect_to discussions_url, :notice => t("inboxes.discussions.can_not_participate") unless @discussion.can_participate?(current_user) + # end def load_and_check_discussion_recipient # initializing model fir new and create actions diff --git a/app/controllers/inboxes/messages_controller.rb b/app/controllers/inboxes/messages_controller.rb index 1c63221..4089b13 100644 --- a/app/controllers/inboxes/messages_controller.rb +++ b/app/controllers/inboxes/messages_controller.rb @@ -1,10 +1,10 @@ class Inboxes::MessagesController < Inboxes::BaseController + # before_filter :init_discussion + # load_and_authorize_resource + load_and_authorize_resource :discussion + load_resource :message, :through => :discussion, :shallow => true def create - @discussion = Discussion.find(params[:discussion_id]) - redirect_to root_url, :notice => t("inboxes.discussions.can_not_participate") unless @discussion.can_participate?(current_user) - - @message = Message.new(params[:message]) @message.user = current_user @message.discussion = @discussion @message.save @@ -14,5 +14,11 @@ class Inboxes::MessagesController < Inboxes::BaseController format.js end end - + + # private + # + # def init_and_check_permissions + # @discussion = Discussion.find(params[:discussion_id]) + # redirect_to discussions_url, :notice => t("inboxes.discussions.can_not_participate") unless @discussion.can_participate?(current_user) + # end end diff --git a/app/controllers/inboxes/speakers_controller.rb b/app/controllers/inboxes/speakers_controller.rb index 035df98..96a3049 100644 --- a/app/controllers/inboxes/speakers_controller.rb +++ b/app/controllers/inboxes/speakers_controller.rb @@ -1,12 +1,13 @@ class Inboxes::SpeakersController < Inboxes::BaseController - before_filter :init_and_check_permissions + # before_filter :init_discussion + load_and_authorize_resource :discussion + load_resource :speaker, :through => :discussion, :shallow => true + # load_and_authorize_resource def create - # check permissions raise ActiveRecord::RecordNotFound unless params[:speaker] && params[:speaker][:user_id] @user = User.find(params[:speaker][:user_id]) - - flash[:notice] = t("views.speakers.added") if @discussion.add_speaker(@user) + flash[:notice] = t("inboxes.speakers.added") if @discussion.add_speaker(@user) redirect_to @discussion end @@ -16,11 +17,4 @@ class Inboxes::SpeakersController < Inboxes::BaseController flash[:notice] = @speaker.user == current_user ? t("inboxes.discussions.leaved") : t("inboxes.speakers.removed") redirect_to @discussion.speakers.any? && @discussion.can_participate?(current_user) ? @discussion : discussions_url end - - private - - def init_and_check_permissions - @discussion = Discussion.find(params[:discussion_id]) - redirect_to discussions_url, :notice => t("inboxes.discussions.can_not_participate") unless @discussion.can_participate?(current_user) - end end diff --git a/app/views/inboxes/discussions/index.html.haml b/app/views/inboxes/discussions/index.html.haml index 7c4de6e..86ae297 100644 --- a/app/views/inboxes/discussions/index.html.haml +++ b/app/views/inboxes/discussions/index.html.haml @@ -1,6 +1,4 @@ %h1 Discussions list -%p - Unread messages: %table %tr %th Last message |
