Revision 0caf68e9 snf-astakos-app/astakos/im/management/commands/user_update.py
b/snf-astakos-app/astakos/im/management/commands/user_update.py | ||
---|---|---|
32 | 32 |
# or implied, of GRNET S.A. |
33 | 33 |
|
34 | 34 |
from optparse import make_option |
35 |
from datetime import datetime |
|
35 | 36 |
|
36 | 37 |
from django.core.management.base import BaseCommand, CommandError |
37 |
from django.contrib.auth.models import Group, Permission
|
|
38 |
from django.contrib.auth.models import Permission |
|
38 | 39 |
from django.contrib.contenttypes.models import ContentType |
39 | 40 |
from django.core.exceptions import ValidationError |
41 |
from django.db.utils import IntegrityError |
|
40 | 42 |
|
41 |
from astakos.im.models import AstakosUser |
|
43 |
from astakos.im.models import AstakosUser, AstakosGroup, Membership
|
|
42 | 44 |
from ._common import remove_user_permission, add_user_permission |
43 | 45 |
|
44 | 46 |
class Command(BaseCommand): |
... | ... | |
135 | 137 |
groupname = options.get('add-group') |
136 | 138 |
if groupname is not None: |
137 | 139 |
try: |
138 |
group = Group.objects.get(name=groupname) |
|
139 |
user.groups.add(group) |
|
140 |
except Group.DoesNotExist, e: |
|
140 |
group = AstakosGroup.objects.get(name=groupname) |
|
141 |
m = Membership(person=user, group=group, date_joined=datetime.now()) |
|
142 |
m.save() |
|
143 |
except AstakosGroup.DoesNotExist, e: |
|
141 | 144 |
self.stdout.write("Group named %s does not exist\n" % groupname) |
145 |
except IntegrityError, e: |
|
146 |
self.stdout.write("User is already member of %s\n" % groupname) |
|
142 | 147 |
|
143 | 148 |
groupname = options.get('delete-group') |
144 | 149 |
if groupname is not None: |
145 | 150 |
try: |
146 |
group = Group.objects.get(name=groupname) |
|
147 |
user.groups.remove(group) |
|
148 |
except Group.DoesNotExist, e: |
|
151 |
group = AstakosGroup.objects.get(name=groupname) |
|
152 |
m = Membership.objects.get(person=user, group=group) |
|
153 |
m.delete() |
|
154 |
except AstakosGroup.DoesNotExist, e: |
|
149 | 155 |
self.stdout.write("Group named %s does not exist\n" % groupname) |
156 |
except Membership.DoesNotExist, e: |
|
157 |
self.stdout.write("User is not a member of %s\n" % groupname) |
|
150 | 158 |
|
151 | 159 |
pname = options.get('add-permission') |
152 | 160 |
if pname is not None: |
Also available in: Unified diff