Class: Decidim::Meetings::MeetingType

Inherits:
Api::Types::BaseObject
  • Object
show all
Defined in:
lib/decidim/api/meeting_type.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.authorized?(object, context) ⇒ Boolean

Returns:

  • (Boolean)


83
84
85
86
87
88
89
90
91
92
93
# File 'lib/decidim/api/meeting_type.rb', line 83

def self.authorized?(object, context)
  context[:meeting] = object

  chain = [
    allowed_to?(:read, :meeting, object, context),
    object.published?,
    object.current_user_can_visit_meeting?(context[:current_user])
  ].all?

  super && chain
end

Instance Method Details

#agendaObject



67
68
69
# File 'lib/decidim/api/meeting_type.rb', line 67

def agenda
  object.agenda if object.agenda&.visible?
end

#audio_urlObject



79
80
81
# File 'lib/decidim/api/meeting_type.rb', line 79

def audio_url
  object.audio_url if object.closing_visible?
end

#closing_reportObject



71
72
73
# File 'lib/decidim/api/meeting_type.rb', line 71

def closing_report
  object.closing_report if object.closing_visible?
end

#registration_formObject



63
64
65
# File 'lib/decidim/api/meeting_type.rb', line 63

def registration_form
  object.questionnaire if object.registration_form_enabled?
end

#urlObject



59
60
61
# File 'lib/decidim/api/meeting_type.rb', line 59

def url
  Decidim::ResourceLocatorPresenter.new(object).url
end

#video_urlObject



75
76
77
# File 'lib/decidim/api/meeting_type.rb', line 75

def video_url
  object.video_url if object.closing_visible?
end