Sha256: 54217ead955a9ebdaf89fee446de055e735af2211cc2bfc93e0e793a5d82d97f

Contents?: true

Size: 760 Bytes

Versions: 45

Compression:

Stored size: 760 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Surveys
    class CleanSurveyAnswersJob < ApplicationJob
      def perform(_event_name, data)
        @component = data[:resource]
        return unless component&.manifest_name == "surveys"

        @survey = Survey.find_by(component: component)
        return unless survey&.questionnaire

        case data[:event_class]
        when "Decidim::ComponentPublishedEvent"
          clean_answers
        end
      end

      private

      attr_reader :survey, :component

      def clean_answers
        return unless survey.clean_after_publish?

        survey.questionnaire.answers.destroy_all
        component.settings[:clean_after_publish] = false
        component.save
      end
    end
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

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