def test_remove_permission_can_see_participant_from_registered(self): self.assertTrue(self.user.has_perm('participant.can_see_participant')) # Remove perm from registered group can_see_perm = Permission.objects.get( content_type=ContentType.objects.get(app_label='participant', model='user'), codename='can_see_participant') get_registered_group().permissions.remove(can_see_perm) # Reload user self.user = User.objects.get(pk=1) self.assertTrue(self.user.has_perm('participant.can_see_participant'))
def user_post_save(sender, instance, *args, **kwargs): if not kwargs['created']: return from openslides.participant.api import get_registered_group # TODO: Test, if global import is possible registered = get_registered_group() instance.groups.add(registered) instance.save()
def post_save(self, form): super(UserCreateView, self).post_save(form) # TODO: find a better solution that makes the following lines obsolete # Background: motion.models.use_post_save adds already the registerd group # to new user but super(..).post_save(form) removes it and sets only the # groups selected in the form (without 'registered') # workaround: add registered group again manually from openslides.participant.api import get_registered_group # TODO: Test, if global import is possible registered = get_registered_group() self.object.groups.add(registered)
def post_save(self, form): super(UserUpdateView, self).post_save(form) # TODO: find a better solution that makes the following lines obsolete # Background: motion.models.use_post_save adds already the registerd group # to new user but super(..).post_save(form) removes it and sets only the # groups selected in the form (without 'registered') # workaround: add registered group again manually from openslides.participant.api import get_registered_group # TODO: Test, if global import is possible registered = get_registered_group() self.object.groups.add(registered)
def add_permissions_to_builtin_groups(sender, **kwargs): """ Adds the permissions openslides_topicvoting.can_see to the group Registered and openslides_topicvoting.can_manage to the group Staff. """ content_type = ContentType.objects.get(app_label="openslides_topicvoting", model="topic") try: registered = get_registered_group() except Group.DoesNotExist: pass else: perm_can_see = Permission.objects.get(content_type=content_type, codename="can_see") registered.permissions.add(perm_can_see) try: staff = Group.objects.get(pk=4) except Group.DoesNotExist: pass else: perm_can_manage = Permission.objects.get(content_type=content_type, codename="can_manage") staff.permissions.add(perm_can_manage)