Sha256: 19904d717751431744c40c67830ad447bb58e3ac93ee6ff0fb3729bb01049a39
Contents?: true
Size: 1.1 KB
Versions: 11
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true module Decidim module Votings module Census module Admin # A command to launch the access codes generation class LaunchAccessCodesGeneration < Decidim::Command def initialize(dataset, user) @dataset = dataset @user = user end # Executes the command. Broadcast this events: # - :ok when everything is valid # - :invalid when the user is not present # # Returns nothing. def call return broadcast(:invalid) unless valid? update_dataset_status(dataset, :generating_codes, user) GenerateAccessCodesJob.perform_later(dataset, user) broadcast(:ok) end attr_reader :user, :dataset private def valid? user.present? && dataset&.data&.exists? && dataset.data_created? end def update_dataset_status(dataset, status, user) UpdateDataset.call(dataset, { status: status }, user) end end end end end end
Version data entries
11 entries across 11 versions & 1 rubygems