Revision a3c6203c

b/snf-astakos-app/astakos/im/management/commands/_common.py
1
# Copyright 2012 GRNET S.A. All rights reserved.
1
# Copyright 2012, 2013 GRNET S.A. All rights reserved.
2 2
#
3 3
# Redistribution and use in source and binary forms, with or
4 4
# without modification, are permitted provided that the following
......
37 37
from django.contrib.auth.models import Permission
38 38
from django.contrib.contenttypes.models import ContentType
39 39

  
40
from synnefo.lib.ordereddict import OrderedDict
40 41
from astakos.im.models import AstakosUser
41 42

  
42 43
DEFAULT_CONTENT_TYPE = None
......
66 67
        return 'in ' + timeuntil(d)
67 68

  
68 69
def format_dict(d, level=1, ident=22):
69
    l = ['%s: %s\n' % (k.rjust(level*ident), format(v, level+1)) \
70
            for k, v in sorted(d.iteritems())]
70
    iteritems = d.iteritems()
71
    if not isinstance(d, OrderedDict):
72
        iteritems = sorted(iteritems)
73

  
74
    l = ['%s: %s\n' % (k.rjust(level*ident), format(v, level+1))
75
         for k, v in iteritems]
71 76
    l.insert(0, '\n')
72 77
    return ''.join(l)
73 78

  
b/snf-astakos-app/astakos/im/management/commands/user-show.py
1
# Copyright 2012 GRNET S.A. All rights reserved.
1
# Copyright 2012, 2013 GRNET S.A. All rights reserved.
2 2
#
3 3
# Redistribution and use in source and binary forms, with or
4 4
# without modification, are permitted provided that the following
......
35 35

  
36 36
from astakos.im.models import AstakosUser, get_latest_terms
37 37
from astakos.im.util import model_to_dict
38
from synnefo.lib.ordereddict import OrderedDict
38 39

  
39 40
from ._common import format
40 41

  
......
64 65
            raise CommandError(msg)
65 66

  
66 67
        for user in users:
67
            kv = {
68
                'id': user.id,
69
                'email': user.email,
70
                'first name': user.first_name,
71
                'last name': user.last_name,
72
                'active': user.is_active,
73
                'admin': user.is_superuser,
74
                'last login': user.last_login,
75
                'date joined': user.date_joined,
76
                'last update': user.updated,
77
                #'token': user.auth_token,
78
                'token expiration': user.auth_token_expires,
79
                'invitations': user.invitations,
80
                'invitation level': user.level,
81
                'providers': user.auth_providers_display,
82
                'verified': user.is_verified,
83
                'has_credits': format(user.has_credits),
84
                'groups': [elem.name for elem in user.groups.all()],
85
                'permissions': [elem.codename for elem in user.user_permissions.all()],
86
                'group_permissions': user.get_group_permissions(),
87
                'email_verified': user.email_verified,
88
                'username': user.username,
89
                'activation_sent_date': user.activation_sent,
90
                'resources': user.all_quotas(),
91
                'uuid': user.uuid
92
            }
68
            quotas = user.all_quotas()
69
            showable_quotas = {}
70
            for resource, limits in quotas.iteritems():
71
                showable_quotas[resource] = limits.capacity
72

  
73
            kv = OrderedDict(
74
                [
75
                    ('id', user.id),
76
                    ('uuid', user.uuid),
77
                    ('email', user.email),
78
                    ('first name', user.first_name),
79
                    ('last name', user.last_name),
80
                    ('active', user.is_active),
81
                    ('admin', user.is_superuser),
82
                    ('last login', user.last_login),
83
                    ('date joined', user.date_joined),
84
                    ('last update', user.updated),
85
                    #('token', user.auth_token),
86
                    ('token expiration', user.auth_token_expires),
87
                    ('invitations', user.invitations),
88
                    ('invitation level', user.level),
89
                    ('providers', user.auth_providers_display),
90
                    ('verified', user.is_verified),
91
                    ('has_credits', format(user.has_credits)),
92
                    ('groups', [elem.name for elem in user.groups.all()]),
93
                    ('permissions', [elem.codename
94
                                     for elem in user.user_permissions.all()]),
95
                    ('group_permissions', user.get_group_permissions()),
96
                    ('email_verified', user.email_verified),
97
                    ('username', user.username),
98
                    ('activation_sent_date', user.activation_sent),
99
                    ('resources', showable_quotas),
100
                ])
101

  
93 102
            if get_latest_terms():
94 103
                has_signed_terms = user.signed_terms
95 104
                kv['has_signed_terms'] = has_signed_terms

Also available in: Unified diff