Class: Decidim::ParticipatorySpace::Member

Inherits:
ApplicationRecord show all
Includes:
DownloadYourData, Decidim::ParticipatorySpaceUser, TranslatableResource
Defined in:
app/models/decidim/participatory_space/member.rb

Overview

This class gives a given User access to a given private Member

Constant Summary

Constants included from Decidim::ParticipatorySpaceUser

Decidim::ParticipatorySpaceUser::ROLES

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.export_serializerObject



30
31
32
# File 'app/models/decidim/participatory_space/member.rb', line 30

def self.export_serializer
  Decidim::DownloadYourDataSerializers::DownloadYourDataMemberSerializer
end

.log_presenter_class_for(_log) ⇒ Object



34
35
36
# File 'app/models/decidim/participatory_space/member.rb', line 34

def self.log_presenter_class_for(_log)
  Decidim::AdminLog::ParticipatorySpace::MemberPresenter
end

.member_ids_for_participatory_spaces(spaces) ⇒ Object



26
27
28
# File 'app/models/decidim/participatory_space/member.rb', line 26

def self.member_ids_for_participatory_spaces(spaces)
  joins(:user).where(participatory_space: spaces).distinct.pluck(:decidim_user_id)
end

.ransackable_associations(_auth_object = nil) ⇒ Object



48
49
50
# File 'app/models/decidim/participatory_space/member.rb', line 48

def self.ransackable_associations(_auth_object = nil)
  %w(user)
end

.ransackable_attributes(auth_object = nil) ⇒ Object



42
43
44
45
46
# File 'app/models/decidim/participatory_space/member.rb', line 42

def self.ransackable_attributes(auth_object = nil)
  return [] unless auth_object&.admin?

  %w(name nickname email invitation_accepted_at last_sign_in_at invitation_sent_at role)
end

.user_collection(user) ⇒ Object



22
23
24
# File 'app/models/decidim/participatory_space/member.rb', line 22

def self.user_collection(user)
  where(decidim_user_id: user.id)
end

Instance Method Details

#target_space_associationObject



52
# File 'app/models/decidim/participatory_space/member.rb', line 52

def target_space_association = :participatory_space