We needed to bring back support for CKEditor in our translatable form, which we had temporarily remove. And now we support CKEditor in our translatable specs, and so we can remove the duplicated specs for poll question answers.
67 lines
1.5 KiB
Ruby
67 lines
1.5 KiB
Ruby
class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController
|
|
include Translatable
|
|
|
|
before_action :load_answer, only: [:show, :edit, :update, :documents]
|
|
|
|
load_and_authorize_resource :question, class: "::Poll::Question"
|
|
|
|
def new
|
|
@answer = ::Poll::Question::Answer.new
|
|
end
|
|
|
|
def create
|
|
@answer = ::Poll::Question::Answer.new(answer_params)
|
|
@question = @answer.question
|
|
|
|
if @answer.save
|
|
redirect_to admin_question_path(@question),
|
|
notice: t("flash.actions.create.poll_question_answer")
|
|
else
|
|
render :new
|
|
end
|
|
end
|
|
|
|
def show
|
|
end
|
|
|
|
def edit
|
|
end
|
|
|
|
def update
|
|
if @answer.update(answer_params)
|
|
redirect_to admin_question_path(@answer.question),
|
|
notice: t("flash.actions.save_changes.notice")
|
|
else
|
|
render :edit
|
|
end
|
|
end
|
|
|
|
def documents
|
|
@documents = @answer.documents
|
|
|
|
render 'admin/poll/questions/answers/documents'
|
|
end
|
|
|
|
def order_answers
|
|
::Poll::Question::Answer.order_answers(params[:ordered_list])
|
|
render nothing: true
|
|
end
|
|
|
|
private
|
|
|
|
def answer_params
|
|
documents_attributes = [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy]
|
|
attributes = [:question_id, documents_attributes: documents_attributes]
|
|
params.require(:poll_question_answer).permit(*attributes, translation_params(Poll::Question::Answer))
|
|
end
|
|
|
|
def load_answer
|
|
@answer = ::Poll::Question::Answer.find(params[:id] || params[:answer_id])
|
|
end
|
|
|
|
def resource
|
|
load_answer unless @answer
|
|
@answer
|
|
end
|
|
end
|