Sha256: b2b0bfe88e26702dac5aa5ccd958c09574a033abf220bfab4f8af587101bfe67
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true module Decidim module Admin # A command that sets all steps in a participatory process as inactive class DestroyParticipatoryProcessStep < Rectify::Command # Public: Initializes the command. # # step - A ParticipatoryProcessStep that will be deactivated def initialize(step) @step = step @participatory_process = step.participatory_process end # Executes the command. Broadcasts these events: # # - :ok when everything is valid. # - :invalid if the data wasn't valid and we couldn't proceed. # # Returns nothing. def call return broadcast(:invalid, :last_step) if @participatory_process.steps.count == 1 return broadcast(:invalid, :active_step) if @step.active? @step.destroy! reorder_steps broadcast(:ok) end private def reorder_steps ReorderParticipatoryProcessSteps .new(@participatory_process.steps, @participatory_process.steps.map(&:id)) .call end end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
decidim-admin-0.0.5 | app/commands/decidim/admin/destroy_participatory_process_step.rb |
decidim-0.0.5 | decidim-admin/app/commands/decidim/admin/destroy_participatory_process_step.rb |