Class: Decidim::Admin::ProcessAdminRolesForProcess

Inherits:
Rectify::Query
  • Object
show all
Defined in:
decidim-admin/app/queries/decidim/admin/process_admin_roles_for_process.rb

Overview

A class used to find the roles of the users that can manage a given participatory process in a process admin role (that is, processs that are not organization admins).

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(process) ⇒ ProcessAdminRolesForProcess

Initializes the class.

process - a process that needs to find its process admins



19
20
21
# File 'decidim-admin/app/queries/decidim/admin/process_admin_roles_for_process.rb', line 19

def initialize(process)
  @process = process
end

Class Method Details

.for(process) ⇒ Object

Syntactic sugar to initialize the class and return the queried objects.

process - a process that needs to find its process admins



12
13
14
# File 'decidim-admin/app/queries/decidim/admin/process_admin_roles_for_process.rb', line 12

def self.for(process)
  new(process).query
end

Instance Method Details

#queryObject

Finds the UserRoles of the users that can manage the given process.

Returns an ActiveRecord::Relation.



26
27
28
29
# File 'decidim-admin/app/queries/decidim/admin/process_admin_roles_for_process.rb', line 26

def query
  ParticipatoryProcessUserRole
    .where(participatory_process: process, role: [:admin, :collaborator])
end