def get_object(self, queryset=None): obj = self.request.user.profile.tournament.groups.get( id=self.kwargs['id']) if obj.tournament_set.count() > 1: raise Group.DoesNotExist("It is a shared group") if not _more_perm_than_group(self.request.user, obj): raise Group.DoesNotExist("Not enough permissions") return obj
def join(request, username, groupname): """Add user to a group specified by name. :param str username: user name. :param str groupname: group name to add given user name. :raise PermissionDenied: if the request has no permission to add a user to a group. :raise Object.DoesNotExist: if user name or group name does not exist. Example:: >>> User.join('username', 'groupname') """ try: user = User.objects.get(username=username) except User.DoesNotExist: raise User.DoesNotExist('User "%s" does not exist' % username) else: try: group = Group.objects.get(name=groupname) except Group.DoesNotExist: raise Group.DoesNotExist('Group "%s" does not exist' % groupname) else: user.groups.add(group)
def ensure_groups(self, save=True): try: self.admin_group if self.admin_group is None: raise Group.DoesNotExist("Group not exist") except Group.DoesNotExist: self.admin_group = Group.objects.create(name="project/{0}/admin".format(self.pk)) try: self.worker_group if self.worker_group is None: raise Group.DoesNotExist("Worker not exist") except Group.DoesNotExist: self.worker_group = Group.objects.create(name="project/{0}/worker".format(self.pk)) if save: self.save(update_fields=['admin_group', 'worker_group'])
def join(request, username, groupname): """ Description: Add user to a group specified by name. Returns: None Raises: PermissionDenied Object.DoesNotExist Example: >>> User.join('username', 'groupname') """ try: user = User.objects.get(username=username) except User.DoesNotExist: raise User.DoesNotExist('User "%s" does not exist' % username) else: try: group = Group.objects.get(name=groupname) except Group.DoesNotExist: raise Group.DoesNotExist('Group "%s" does not exist' % groupname) else: user.groups.add(group)
u.save(update_fields=_update_fields) return get_user_dict(u) @log_call(namespace='User') @user_passes_test(lambda u: u.has_perm('auth.change_user')) def join(request, username, groupname): """ Description: Add user to a group specified by name. Returns: None Raises: PermissionDenied Object.DoesNotExist Example: >>> User.join('username', 'groupname') """ try: user = User.objects.get(username=username) except User.DoesNotExist, e: raise User.DoesNotExist('User "%s" does not exist' % username) else: try: group = Group.objects.get(name=groupname) except Group.DoesNotExist, e: raise Group.DoesNotExist('Group "%s" does not exist' % groupname) else: user.groups.add(group)