Revision 0a569195 snf-astakos-app/astakos/im/management/commands/showuser.py

b/snf-astakos-app/astakos/im/management/commands/showuser.py
47 47
            raise CommandError("Please provide a user ID or email")
48 48
        
49 49
        email_or_id = args[0]
50
        try:
51
            if email_or_id.isdigit():
52
                user = AstakosUser.objects.get(id=int(email_or_id))
53
            else:
54
                user = AstakosUser.objects.get(email=email_or_id)
55
        except AstakosUser.DoesNotExist:
50
        if email_or_id.isdigit():
51
            users = AstakosUser.objects.filter(id=int(email_or_id))
52
        else:
53
            users = AstakosUser.objects.filter(email=email_or_id)
54
        if users.count() == 0:
56 55
            field = 'id' if email_or_id.isdigit() else 'email'
57 56
            msg = "Unknown user with %s '%s'" % (field, email_or_id)
58 57
            raise CommandError(msg)
59 58
        
60
        kv = {
61
            'id': user.id,
62
            'email': user.email,
63
            'first name': user.first_name,
64
            'last name': user.last_name,
65
            'active': format_bool(user.is_active),
66
            'admin': format_bool(user.is_superuser),
67
            'last login': format_date(user.last_login),
68
            'date joined': format_date(user.date_joined),
69
            'last update': format_date(user.updated),
70
            'token': user.auth_token,
71
            'token expiration': format_date(user.auth_token_expires),
72
            'invitations': user.invitations,
73
            'invitation level': user.level,
74
            'provider': user.provider,
75
            'verified': format_bool(user.is_verified),
76
            'has_credits': format_bool(user.has_credits),
77
            'has_signed_terms': format_bool(user.has_signed_terms),
78
            'date_signed_terms': format_date(user.date_signed_terms),
79
            'groups': [elem.name for elem in user.groups.all()],
80
            'third_party_identifier': user.third_party_identifier
81
        }
82
        
83
        for key, val in sorted(kv.items()):
84
            line = '%s: %s\n' % (key.rjust(22), val)
85
            self.stdout.write(line.encode('utf8'))
59
        for user in users:
60
            kv = {
61
                'id': user.id,
62
                'email': user.email,
63
                'first name': user.first_name,
64
                'last name': user.last_name,
65
                'active': format_bool(user.is_active),
66
                'admin': format_bool(user.is_superuser),
67
                'last login': format_date(user.last_login),
68
                'date joined': format_date(user.date_joined),
69
                'last update': format_date(user.updated),
70
                'token': user.auth_token,
71
                'token expiration': format_date(user.auth_token_expires),
72
                'invitations': user.invitations,
73
                'invitation level': user.level,
74
                'provider': user.provider,
75
                'verified': format_bool(user.is_verified),
76
                'has_credits': format_bool(user.has_credits),
77
                'has_signed_terms': format_bool(user.has_signed_terms),
78
                'date_signed_terms': format_date(user.date_signed_terms),
79
                'groups': [elem.name for elem in user.groups.all()],
80
                'third_party_identifier': user.third_party_identifier,
81
                'email_verified': format_bool(user.email_verified)
82
            }
83
            
84
            for key, val in sorted(kv.items()):
85
                line = '%s: %s\n' % (key.rjust(22), val)
86
                self.stdout.write(line.encode('utf8'))
87
            self.stdout.write('\n')

Also available in: Unified diff