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
|