Sha256: b42d2b9a1526444392b9cec9114dac7c4ac529a6ef1e52437e235ed43c037ed0
Contents?: true
Size: 1.04 KB
Versions: 31
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true module Decidim module UserGroups # Use this class to find the user groups the given user is accepted. In order # to calculate this, we get those groups where the user has a role of # member, creator or admin. class AcceptedUserGroups < Decidim::Query # Syntactic sugar to initialize the class and return the queried objects. # # user - a User that needs to find the groups where they are accepted def self.for(user) new(user).query end # Initializes the class. # # user - a User that needs to find the groups where they are accepted def initialize(user) @user = user end # Finds the UserGroups where the user has an accepted membership. # # Returns an ActiveRecord::Relation. def query user .user_groups .includes(:memberships) .where(decidim_user_group_memberships: { role: %w(creator admin member) }) end private attr_reader :user end end end
Version data entries
31 entries across 31 versions & 1 rubygems