Class: Decidim::ParticipatoryProcess
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- Decidim::ParticipatoryProcess
- Includes:
- Followable, HasAttachmentCollections, HasAttachments, HasPrivateUsers, HasReference, HasUploadValidations, Loggable, Participable, ParticipatorySpaceResourceable, Publicable, ScopableParticipatorySpace, Searchable, Traceable, TranslatableResource
- Defined in:
- app/models/decidim/participatory_process.rb
Overview
Interaction between a user and an organization is done via a ParticipatoryProcess. It’s a unit of action from the Organization point of view that groups several components (proposals, debates…) distributed in steps that get enabled or disabled depending on which step is currently active.
Class Method Summary collapse
- .active_spaces ⇒ Object
- .future_spaces ⇒ Object
-
.group_ids ⇒ Object
Pluck all ParticipatoryProcessGroup ID’s.
-
.grouped ⇒ Object
Return processes that belong to a process group.
-
.groupless ⇒ Object
Return processes that DON’T belong to a process group.
- .log_presenter_class_for(_log) ⇒ Object
- .past_spaces ⇒ Object
-
.promoted ⇒ Object
Scope to return only the promoted processes.
Instance Method Summary collapse
- #active? ⇒ Boolean
- #attachment_context ⇒ Object
- #closed? ⇒ Boolean
- #hashtag ⇒ Object
-
#moderators ⇒ Object
Overrides the method from ‘Participable`.
- #past? ⇒ Boolean
- #to_param ⇒ Object
- #upcoming? ⇒ Boolean
- #user_roles(role_name = nil) ⇒ Object
Class Method Details
.active_spaces ⇒ Object
108 109 110 |
# File 'app/models/decidim/participatory_process.rb', line 108 def self.active_spaces active end |
.future_spaces ⇒ Object
112 113 114 |
# File 'app/models/decidim/participatory_process.rb', line 112 def self.future_spaces upcoming end |
.group_ids ⇒ Object
Pluck all ParticipatoryProcessGroup ID’s
143 144 145 |
# File 'app/models/decidim/participatory_process.rb', line 143 def self.group_ids pluck(:decidim_participatory_process_group_id) end |
.grouped ⇒ Object
Return processes that belong to a process group.
104 105 106 |
# File 'app/models/decidim/participatory_process.rb', line 104 def self.grouped where.not(decidim_participatory_process_group_id: nil) end |
.groupless ⇒ Object
Return processes that DON’T belong to a process group.
99 100 101 |
# File 'app/models/decidim/participatory_process.rb', line 99 def self.groupless where(decidim_participatory_process_group_id: nil) end |
.log_presenter_class_for(_log) ⇒ Object
120 121 122 |
# File 'app/models/decidim/participatory_process.rb', line 120 def self.log_presenter_class_for(_log) Decidim::ParticipatoryProcesses::AdminLog::ParticipatoryProcessPresenter end |
.past_spaces ⇒ Object
116 117 118 |
# File 'app/models/decidim/participatory_process.rb', line 116 def self.past_spaces past end |
.promoted ⇒ Object
Scope to return only the promoted processes.
Returns an ActiveRecord::Relation.
94 95 96 |
# File 'app/models/decidim/participatory_process.rb', line 94 def self.promoted where(promoted: true) end |
Instance Method Details
#active? ⇒ Boolean
124 125 126 127 128 |
# File 'app/models/decidim/participatory_process.rb', line 124 def active? return false if start_date.blank? start_date < Date.current && (end_date.blank? || end_date > Date.current) end |
#attachment_context ⇒ Object
171 172 173 |
# File 'app/models/decidim/participatory_process.rb', line 171 def :admin end |
#closed? ⇒ Boolean
147 148 149 |
# File 'app/models/decidim/participatory_process.rb', line 147 def closed? past? end |
#hashtag ⇒ Object
151 152 153 |
# File 'app/models/decidim/participatory_process.rb', line 151 def hashtag attributes["hashtag"].to_s.delete("#") end |
#moderators ⇒ Object
Overrides the method from ‘Participable`.
160 161 162 |
# File 'app/models/decidim/participatory_process.rb', line 160 def moderators "#{admin_module_name}::Moderators".constantize.for(self) end |
#past? ⇒ Boolean
130 131 132 133 134 |
# File 'app/models/decidim/participatory_process.rb', line 130 def past? return false if end_date.blank? end_date < Date.current end |
#to_param ⇒ Object
155 156 157 |
# File 'app/models/decidim/participatory_process.rb', line 155 def to_param slug end |
#upcoming? ⇒ Boolean
136 137 138 139 140 |
# File 'app/models/decidim/participatory_process.rb', line 136 def upcoming? return false if start_date.blank? start_date > Date.current end |
#user_roles(role_name = nil) ⇒ Object
164 165 166 167 168 169 |
# File 'app/models/decidim/participatory_process.rb', line 164 def user_roles(role_name = nil) roles = Decidim::ParticipatoryProcessUserRole.where(participatory_process: self) return roles if role_name.blank? roles.where(role: role_name) end |