Sha256: 6c6808e4d9a8640be62025bfbafdcc9c865310847a723671c6ea0a8ea19bf3a7

Contents?: true

Size: 1.08 KB

Versions: 19

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module Decidim
  module Consultations
    class QuestionVotesController < Decidim::Consultations::ApplicationController
      include NeedsQuestion
      include Decidim::FormFactory

      before_action :authenticate_user!

      def create
        enforce_permission_to :vote, :question, question: current_question

        vote_form = form(VoteForm).from_params(params, current_question: current_question)
        VoteQuestion.call(vote_form) do
          on(:ok) do
            current_question.reload
            render :update_vote_button
          end

          on(:invalid) do
            render json: {
              error: I18n.t("question_votes.create.error", scope: "decidim.consultations")
            }, status: 422
          end
        end
      end

      def destroy
        enforce_permission_to :unvote, :question, question: current_question
        UnvoteQuestion.call(current_question, current_user) do
          on(:ok) do
            current_question.reload
            render :update_vote_button
          end
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
decidim-consultations-0.17.2 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.17.1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.16.1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.17.0 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.16.0 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.15.2 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.15.1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.15.0 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.14.4 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.14.3 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.14.2 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.14.1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.13.1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.12.2 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.13.0 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.12.1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.13.0.pre1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.12.0 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.12.0.pre app/controllers/decidim/consultations/question_votes_controller.rb