item/user groups

This commit is contained in:
j 2012-01-13 15:17:18 +05:30
commit 4e6c2250c9
6 changed files with 52 additions and 14 deletions

View file

@ -3,7 +3,7 @@
import copy
from datetime import datetime
from django.contrib.auth.models import User
from django.contrib.auth.models import User, Group
from django.db import models
from django.db.models import Max
from django.conf import settings
@ -149,6 +149,7 @@ class SessionData(models.Model):
p = self.user.get_profile()
j['disabled'] = not self.user.is_active
j['email'] = self.user.email
j['groups'] = [g.name for g in self.user.groups.all()]
j['level'] = p.get_level()
j['newsletter'] = p.newsletter
j['notes'] = p.notes

View file

@ -334,6 +334,15 @@ def editUser(request):
profile.notes = data['notes']
if 'newsletter' in data:
profile.newsletter = data['newsletter']
if 'groups' in data:
groups = data['groups']
if isinstance(groups, list):
groups = filter(lambda g: g.strip(), groups)
user.groups.exclude(name__in=groups).delete()
current_groups = [g.name for g in user.groups.all()]
for g in filter(lambda g: g not in current_groups, groups):
group, created = models.Group.objects.get_or_create(name=g)
user.groups.add(group)
if 'username' in data:
if models.User.objects.filter(
username__iexact=data['username']).exclude(id=user.id).count()>0: