Sha256: 0ac5ed2abd20ce20a65558917a14c6f23006e5b72f70716f62cafaf7fb7ba86b
Contents?: true
Size: 1.23 KB
Versions: 26
Compression:
Stored size: 1.23 KB
Contents
# frozen_string_literal: true module Decidim module Elections module Admin # This command is executed when the user updates a Question # from the admin panel. class UpdateQuestion < Rectify::Command def initialize(form, question) @form = form @question = question end # Updates the question if valid. # # Broadcasts :ok if successful, :invalid otherwise. def call return broadcast(:invalid) if invalid? update_question! broadcast(:ok, question) end private attr_reader :form, :question def invalid? question.election.started? || form.invalid? end def update_question! attributes = { title: form.title, description: form.description, max_selections: form.max_selections, weight: form.weight, random_answers_order: form.random_answers_order, min_selections: form.min_selections } Decidim.traceability.update!( question, form.current_user, attributes, visibility: "all" ) end end end end end
Version data entries
26 entries across 26 versions & 1 rubygems