Sha256: 4fc86ab2ee3f98b87b585dc53a8df2dff5013513c9aac4440c318ff31a492a6e
Contents?: true
Size: 1.41 KB
Versions: 12
Compression:
Stored size: 1.41 KB
Contents
# frozen_string_literal: true module Decidim module Elections module Admin # This command is executed when the user updates an Election # from the admin panel. class UpdateElection < Decidim::Command include ::Decidim::AttachmentMethods include ::Decidim::GalleryMethods def initialize(form, election) @form = form @election = election @attached_to = election end # Updates the election if valid. # # Broadcasts :ok if successful, :invalid otherwise. def call return broadcast(:invalid) if form.invalid? if process_gallery? build_gallery return broadcast(:invalid) if gallery_invalid? end transaction do update_election! create_gallery if process_gallery? photo_cleanup! end broadcast(:ok, election) end private attr_reader :form, :election, :gallery def update_election! attributes = { title: form.title, description: form.description, start_time: form.start_time, end_time: form.end_time } Decidim.traceability.update!( election, form.current_user, attributes, visibility: "all" ) end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems