class Decidim::Meetings::Admin::UpdateRegistrations
This command is executed when the user updates the meeting registrations.
def call
Updates the meeting if valid.
def call return broadcast(:invalid) if form.invalid? meeting.with_lock do update_meeting_registrations send_notification if should_notify_followers? end broadcast(:ok) end
def initialize(form, meeting)
form - The form from which to get the data.
Initializes a UpdateRegistrations Command.
def initialize(form, meeting) @form = form @meeting = meeting end
def send_notification
def send_notification Decidim::EventsManager.publish( event: "decidim.events.meetings.registrations_enabled", event_class: Decidim::Meetings::MeetingRegistrationsEnabledEvent, resource: meeting, followers: meeting.followers ) end
def should_notify_followers?
def should_notify_followers? meeting.previous_changes["registrations_enabled"].present? && meeting.registrations_enabled? end
def update_meeting_registrations
def update_meeting_registrations meeting.registrations_enabled = form.registrations_enabled meeting.registration_form_enabled = form.registration_form_enabled if form.registrations_enabled meeting.available_slots = form.available_slots meeting.reserved_slots = form.reserved_slots meeting.registration_terms = form.registration_terms meeting.customize_registration_email = form.customize_registration_email meeting.registration_email_custom_content = form.registration_email_custom_content if form.customize_registration_email end meeting.save! end