Merge pull request #2914 from microweb10/make_polls_translatable

Make polls translatable
This commit is contained in:
Raimond Garcia
2018-09-26 13:19:17 +02:00
committed by GitHub
25 changed files with 434 additions and 50 deletions

View File

@@ -1,4 +1,5 @@
class Admin::Poll::PollsController < Admin::Poll::BaseController
include Translatable
load_and_authorize_resource
before_action :load_search, only: [:search_booths, :search_officers]
@@ -63,7 +64,7 @@ class Admin::Poll::PollsController < Admin::Poll::BaseController
attributes = [:name, :starts_at, :ends_at, :geozone_restricted, :summary, :description,
:results_enabled, :stats_enabled, geozone_ids: [],
image_attributes: image_attributes]
params.require(:poll).permit(*attributes)
params.require(:poll).permit(*attributes, *translation_params(Poll))
end
def search_params
@@ -74,4 +75,7 @@ class Admin::Poll::PollsController < Admin::Poll::BaseController
@search = search_params[:search]
end
def resource
@poll ||= Poll.find(params[:id])
end
end

View File

@@ -1,4 +1,6 @@
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"
@@ -49,11 +51,15 @@ class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController
def answer_params
documents_attributes = [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy]
attributes = [:title, :description, :question_id, documents_attributes: documents_attributes]
params.require(:poll_question_answer).permit(*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

View File

@@ -1,5 +1,6 @@
class Admin::Poll::QuestionsController < Admin::Poll::BaseController
include CommentableActions
include Translatable
load_and_authorize_resource :poll
load_and_authorize_resource :question, class: 'Poll::Question'
@@ -55,11 +56,15 @@ class Admin::Poll::QuestionsController < Admin::Poll::BaseController
private
def question_params
params.require(:poll_question).permit(:poll_id, :title, :question, :proposal_id)
attributes = [:poll_id, :title, :question, :proposal_id]
params.require(:poll_question).permit(*attributes, *translation_params(Poll::Question))
end
def search_params
params.permit(:poll_id, :search)
end
def resource
@poll_question ||= Poll::Question.find(params[:id])
end
end

View File

@@ -27,7 +27,7 @@ module Translatable
end
def enabled_translations
params.fetch(:enabled_translations)
params.fetch(:enabled_translations, {})
.select { |_, v| v == '1' }
.keys
end