Sha256: f006d6a825ffdded64f2d01e728a22139dab61e266766a6fc584b1bb4b8c293c

Contents?: true

Size: 1.13 KB

Versions: 51

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

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

      helper QuestionsHelper

      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: :unprocessable_entity
          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

51 entries across 51 versions & 1 rubygems

Version Path
decidim-consultations-0.27.9 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.8 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.7 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.6 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.26.10 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.26.9 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.5 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.26.8 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.4 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.3 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.26.7 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.26.5 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.2 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.26.4 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.0 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.26.3 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.0.rc2 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.27.0.rc1 app/controllers/decidim/consultations/question_votes_controller.rb
decidim-consultations-0.26.2 app/controllers/decidim/consultations/question_votes_controller.rb