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