Sha256: 73560580366d3e8b45d6b127d451a91039bb18036371f21118c3ea067bd97b5c

Contents?: true

Size: 902 Bytes

Versions: 4

Compression:

Stored size: 902 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module Templates
    # A command with all the business logic when duplicating a questionnaire template
    module Admin
      module CreateQuestionnaireTemplateOverride
        extend ActiveSupport::Concern

        included do
          def call
            return broadcast(:invalid) unless @form.valid?

            @template = Decidim.traceability.create!(
              Template,
              @form.current_user,
              name: @form.name,
              description: @form.description,
              organization: @form.current_organization,
              target: :questionnaire
            )

            @questionnaire = Decidim::Forms::Questionnaire.create!(questionnaire_for: @template)
            @template.update!(templatable: @questionnaire)

            broadcast(:ok, @template)
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
decidim-reporting_proposals-0.5.2 app/commands/concerns/decidim/templates/admin/create_questionnaire_template_override.rb
decidim-reporting_proposals-0.5.1 app/commands/concerns/decidim/templates/admin/create_questionnaire_template_override.rb
decidim-reporting_proposals-0.5.0 app/commands/concerns/decidim/templates/admin/create_questionnaire_template_override.rb
decidim-reporting_proposals-0.4.2 app/commands/concerns/decidim/templates/admin/create_questionnaire_template_override.rb