Revision 0a569195 snf-astakos-app/astakos/im/management/commands/modifyuser.py
b/snf-astakos-app/astakos/im/management/commands/modifyuser.py | ||
---|---|---|
35 | 35 |
|
36 | 36 |
from django.core.management.base import BaseCommand, CommandError |
37 | 37 |
from django.contrib.auth.models import Group |
38 |
from django.core.exceptions import ValidationError |
|
38 | 39 |
|
39 | 40 |
from ._common import get_user |
40 | 41 |
|
42 |
from astakos.im.models import AstakosUser |
|
41 | 43 |
|
42 | 44 |
class Command(BaseCommand): |
43 |
args = "<user ID or email>"
|
|
45 |
args = "<user ID>" |
|
44 | 46 |
help = "Modify a user's attributes" |
45 | 47 |
|
46 | 48 |
option_list = BaseCommand.option_list + ( |
... | ... | |
91 | 93 |
|
92 | 94 |
def handle(self, *args, **options): |
93 | 95 |
if len(args) != 1: |
94 |
raise CommandError("Please provide a user ID or email") |
|
96 |
raise CommandError("Please provide a user ID") |
|
97 |
|
|
98 |
if args[0].isdigit(): |
|
99 |
user = AstakosUser.objects.get(id=int( args[0])) |
|
100 |
else: |
|
101 |
raise CommandError("Invalid ID") |
|
95 | 102 |
|
96 |
user = get_user(args[0]) |
|
97 | 103 |
if not user: |
98 | 104 |
raise CommandError("Unknown user") |
99 | 105 |
|
... | ... | |
138 | 144 |
if options['renew_token']: |
139 | 145 |
user.renew_token() |
140 | 146 |
|
141 |
user.save() |
|
147 |
try: |
|
148 |
user.save() |
|
149 |
except ValidationError, e: |
|
150 |
raise CommandError(e.message_dict) |
Also available in: Unified diff