Sha256: a1d1d6cc8a9cbe5dbbace6095a3c2301af0ae6139d11ad0fa760c182d27ee3df
Contents?: true
Size: 1.16 KB
Versions: 15
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true module Decidim module Meetings module Admin # This command is executed when the user destroys a Meeting from the admin # panel. class DestroyMeeting < Rectify::Command # Initializes a CloseMeeting Command. # # meeting - The current instance of the page to be closed. # current_user - the user performing the action def initialize(meeting, current_user) @meeting = meeting @current_user = current_user end # Destroys the meeting if valid. # # Broadcasts :ok if successful, :invalid otherwise. def call return broadcast(:invalid, proposals.size) if proposals.any? destroy_meeting broadcast(:ok) end private attr_reader :current_user, :meeting def destroy_meeting Decidim.traceability.perform_action!( :delete, meeting, current_user ) do meeting.destroy! end end def proposals @proposals ||= meeting.authored_proposals.load end end end end end
Version data entries
15 entries across 15 versions & 1 rubygems