def apply_state_group_membership(self): from .job_category import JobCategory groups_to_add = set() groups_to_remove = set() for group_suffix in SIGNUP_STATE_GROUPS: should_belong_to_group = getattr(self, 'is_{group_suffix}'.format(group_suffix=group_suffix)) group = self.event.labour_event_meta.get_group(group_suffix) if should_belong_to_group: groups_to_add.add(group) else: groups_to_remove.add(group) for job_category in JobCategory.objects.filter(event=self.event): should_belong_to_group = self.job_categories_accepted.filter(pk=job_category.pk).exists() group = self.event.labour_event_meta.get_group(job_category.slug) if should_belong_to_group: groups_to_add.add(group) else: groups_to_remove.add(group) ensure_user_group_membership(self.person.user, groups_to_add, groups_to_remove)
def apply_state_group_membership(self): from django.contrib.auth.models import Group from core.utils import ensure_user_group_membership from .programme_role import ProgrammeRole try: group = self.event.programme_event_meta.get_group('hosts') except Group.DoesNotExist: logger.warning('Event %s missing the programme hosts group', self.event) return for person in self.organizers.all(): assert person.user if ProgrammeRole.objects.filter( programme__category__event=self.event, programme__state__in=PROGRAMME_STATES_ACTIVE, person=person, ).exists(): # active programmist groups_to_add = [group] groups_to_remove = [] else: # inactive programmist groups_to_add = [] groups_to_remove = [group] ensure_user_group_membership(person.user, groups_to_add=groups_to_add, groups_to_remove=groups_to_remove)
def apply_state_group_membership(self): from .programme_role import ProgrammeRole from core.utils import ensure_user_group_membership group = self.event.programme_event_meta.get_group('hosts') for person in self.organizers.all(): assert person.user if ProgrammeRole.objects.filter( programme__category__event=self.event, programme__state__in=PROGRAMME_STATES_ACTIVE, person=person, ).exists(): # active programmist groups_to_add = [group] groups_to_remove = [] else: # inactive programmist groups_to_add = [] groups_to_remove = [group] ensure_user_group_membership(person.user, groups_to_add=groups_to_add, groups_to_remove=groups_to_remove )
def apply_state_group_membership(self): from django.contrib.auth.models import Group from core.utils import ensure_user_group_membership from .programme_role import ProgrammeRole try: group = self.event.programme_event_meta.get_group('hosts') except Group.DoesNotExist: logger.warning('Event %s missing the programme hosts group', self.event) return for person in self.organizers.all(): assert person.user if ProgrammeRole.objects.filter( programme__category__event=self.event, programme__state__in=PROGRAMME_STATES_ACTIVE, person=person, ).exists(): # active programmist groups_to_add = [group] groups_to_remove = [] else: # inactive programmist groups_to_add = [] groups_to_remove = [group] ensure_user_group_membership(person.user, groups_to_add=groups_to_add, groups_to_remove=groups_to_remove )
def add_to_group(privilege, person): """ Generic "add person to group" privilege. The group to add is taken from the privilege slug. """ group = Group.objects.get(name=privilege.slug) ensure_user_group_membership(person.user, groups_to_add=[group])
def add_to_group(privilege, person): """ Generic "add person to group" privilege. The group to add is taken from the privilege slug. """ group = Group.objects.get(name=privilege.slug) ensure_user_group_membership(person.user, groups_to_add=[group])
def _apply_state_group_membership(self): if self.person.user: members_group = self.organization.membership_organization_meta.members_group if self.is_in_effect: groups_to_add = [members_group] groups_to_remove = [] else: groups_to_add = [] groups_to_remove = [members_group] ensure_user_group_membership(self.person.user, groups_to_add, groups_to_remove)
def _apply_state_group_membership(self): if self.person.user: members_group = self.organization.membership_organization_meta.members_group if self.is_in_effect: groups_to_add = [members_group] groups_to_remove = [] else: groups_to_add = [] groups_to_remove = [members_group] ensure_user_group_membership(self.person.user, groups_to_add, groups_to_remove)
def apply_state_group_membership(self): from .job_category import JobCategory from .personnel_class import PersonnelClass groups_to_add = set() groups_to_remove = set() for group_suffix in SIGNUP_STATE_GROUPS: should_belong_to_group = getattr( self, 'is_{group_suffix}'.format(group_suffix=group_suffix)) group = self.event.labour_event_meta.get_group(group_suffix) if should_belong_to_group: groups_to_add.add(group) else: groups_to_remove.add(group) for job_category in JobCategory.objects.filter(event=self.event): should_belong_to_group = self.job_categories_accepted.filter( pk=job_category.pk).exists() group = self.event.labour_event_meta.get_group(job_category.slug) if should_belong_to_group: groups_to_add.add(group) else: groups_to_remove.add(group) for personnel_class in PersonnelClass.objects.filter( event=self.event, app_label='labour'): should_belong_to_group = self.personnel_classes.filter( pk=personnel_class.pk).exists() group = self.event.labour_event_meta.get_group( personnel_class.slug) if should_belong_to_group: groups_to_add.add(group) else: groups_to_remove.add(group) ensure_user_group_membership(self.person.user, groups_to_add, groups_to_remove)