Sha256: 1a1a415dcca1b5d6007c157ee2a0eb15c611f3a1429c02e77817213573bc4368

Contents?: true

Size: 977 Bytes

Versions: 54

Compression:

Stored size: 977 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Surveys
    # Exposes the survey resource so users can view and answer them.
    class SurveysController < Decidim::Surveys::ApplicationController
      include FormFactory

      helper_method :survey

      def show
        @form = form(SurveyForm).from_model(survey)
      end

      def answer
        authorize! :answer, Survey
        @form = form(SurveyForm).from_params(params)

        AnswerSurvey.call(@form, current_user, survey) do
          on(:ok) do
            flash[:notice] = I18n.t("surveys.answer.success", scope: "decidim.surveys")
            redirect_to survey_path(survey)
          end

          on(:invalid) do
            flash.now[:alert] = I18n.t("surveys.answer.invalid", scope: "decidim.surveys")
            render action: "show"
          end
        end
      end

      private

      def survey
        @survey ||= Survey.find_by(feature: current_feature)
      end
    end
  end
end

Version data entries

54 entries across 54 versions & 2 rubygems

Version Path
decidim-surveys-0.10.1 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.10.0 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.9.3 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.9.2 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.9.1 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.9.0 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.8.4 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.8.3 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.8.2 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.8.1 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.8.0 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.7.4 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.7.3 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.7.2 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.7.1 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.7.0 app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.6.8 app/controllers/decidim/surveys/surveys_controller.rb
decidim-0.6.8 decidim-surveys/app/controllers/decidim/surveys/surveys_controller.rb
decidim-surveys-0.6.7 app/controllers/decidim/surveys/surveys_controller.rb
decidim-0.6.7 decidim-surveys/app/controllers/decidim/surveys/surveys_controller.rb