Class: Decidim::Conferences::Admin::ConferenceSpeakerForm

Inherits:
Form
  • Object
show all
Includes:
ApplicationHelper, TranslatableAttributes
Defined in:
app/forms/decidim/conferences/admin/conference_speaker_form.rb

Overview

A form object used to create conference members from the admin dashboard.

Instance Method Summary collapse

Instance Method Details

#conference_meetingsObject



61
62
63
64
65
66
# File 'app/forms/decidim/conferences/admin/conference_speaker_form.rb', line 61

def conference_meetings
  meeting_components = current_participatory_space.components.where(manifest_name: "meetings")
  return unless meeting_components || conference_meeting_ids.delete("").present?

  @conference_meetings ||= Decidim::ConferenceMeeting.where(component: meeting_components).where(id: conference_meeting_ids)
end

#map_model(model) ⇒ Object



51
52
53
54
55
# File 'app/forms/decidim/conferences/admin/conference_speaker_form.rb', line 51

def map_model(model)
  self.user_id = model.decidim_user_id
  self.existing_user = user_id.present?
  self.conference_meeting_ids = model.conference_meetings.pluck(:conference_meeting_id)
end

#meetingsObject



68
69
70
71
72
73
# File 'app/forms/decidim/conferences/admin/conference_speaker_form.rb', line 68

def meetings
  meeting_components = current_participatory_space.components.where(manifest_name: "meetings")
  @meetings ||= Decidim::ConferenceMeeting.where(component: meeting_components)
                                           &.order(title: :asc)
                                           &.map { |meeting| [present(meeting).title, meeting.id] }
end

#personal_urlObject



43
44
45
46
47
48
49
# File 'app/forms/decidim/conferences/admin/conference_speaker_form.rb', line 43

def personal_url
  return if super.blank?

  return "http://#{super}" unless super.match?(%r{\A(http|https)://}i)

  super
end

#userObject



57
58
59
# File 'app/forms/decidim/conferences/admin/conference_speaker_form.rb', line 57

def user
  @user ||= current_organization.users.find_by(id: user_id)
end