diff --git a/app/controllers/admin/poll/questions/answers/images_controller.rb b/app/controllers/admin/poll/questions/answers/images_controller.rb index f91389daa..a209b058f 100644 --- a/app/controllers/admin/poll/questions/answers/images_controller.rb +++ b/app/controllers/admin/poll/questions/answers/images_controller.rb @@ -1,7 +1,7 @@ class Admin::Poll::Questions::Answers::ImagesController < Admin::Poll::BaseController include ImageAttributes - before_action :load_answer, except: :destroy + load_and_authorize_resource :answer, class: "::Poll::Question::Answer" def index end @@ -38,8 +38,4 @@ class Admin::Poll::Questions::Answers::ImagesController < Admin::Poll::BaseContr def allowed_params [:answer_id, images_attributes: image_attributes] end - - def load_answer - @answer = ::Poll::Question::Answer.find(params[:answer_id]) - end end diff --git a/app/models/abilities/administrator.rb b/app/models/abilities/administrator.rb index 57cef7552..e9a455c3c 100644 --- a/app/models/abilities/administrator.rb +++ b/app/models/abilities/administrator.rb @@ -92,6 +92,9 @@ module Abilities can :destroy, Poll::Question can :manage, Poll::Question::Answer can :manage, Poll::Question::Answer::Video + can [:create, :destroy], Image do |image| + image.imageable_type == "Poll::Question::Answer" + end can :manage, SiteCustomization::Page can :manage, SiteCustomization::Image diff --git a/app/views/admin/poll/questions/answers/images/new.html.erb b/app/views/admin/poll/questions/answers/images/new.html.erb index 0ba27107b..e4ddaa769 100644 --- a/app/views/admin/poll/questions/answers/images/new.html.erb +++ b/app/views/admin/poll/questions/answers/images/new.html.erb @@ -1,7 +1,5 @@