Sha256: 1f91a79daf273e6de51a7025c6253ecab64b997b41b1eb6f35b46149a9d55c54
Contents?: true
Size: 1.08 KB
Versions: 3
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true module Decidim module ParticipatoryDocuments module Admin class UpdateSection < Decidim::Command # Public: Initializes the command. # # form - A form object with the params. def initialize(form, document) @form = form @document = document end def call return broadcast(:invalid) if form.invalid? begin transaction do update_section end broadcast(:ok, section) rescue ActiveRecord::RecordInvalid broadcast(:invalid) end end private attr_reader :form, :document def update_section @zone = Decidim.traceability.update!( section, form.current_user, **attributes ) end def attributes { title: form.title }.merge(document: document) end def section @section ||= document.sections.find(form.id) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems