Revision 6609821f snf-astakos-app/astakos/api/user.py
b/snf-astakos-app/astakos/api/user.py | ||
---|---|---|
41 | 41 |
from snf_django.lib.api import faults |
42 | 42 |
|
43 | 43 |
from astakos.im.util import epoch |
44 |
from astakos.im.models import Resource |
|
45 | 44 |
from astakos.im.quotas import get_user_quotas |
46 | 45 |
|
47 | 46 |
from .util import ( |
... | ... | |
88 | 87 |
'auth_token_created': epoch(user.auth_token_created), |
89 | 88 |
'auth_token_expires': epoch(user.auth_token_expires)} |
90 | 89 |
|
91 |
# append usage data if requested |
|
92 |
if request.REQUEST.get('usage', None): |
|
93 |
quotas = get_user_quotas(user)['system'] |
|
94 |
usage = [] |
|
95 |
for k in quotas: |
|
96 |
service, _, resource = k.partition('.') |
|
97 |
try: |
|
98 |
resource = Resource.objects.select_related().get( |
|
99 |
service__name=service, name=k) |
|
100 |
except Resource.DoesNotExist: |
|
101 |
logger.error("Resource %s not found!" % k) |
|
102 |
continue |
|
103 |
usage.append(dict( |
|
104 |
name=k, |
|
105 |
description=resource.desc, |
|
106 |
unit=resource.unit or '', |
|
107 |
help_text=resource.help_text, |
|
108 |
help_text_input_each=resource.help_text_input_each, |
|
109 |
is_abbreviation=resource.is_abbreviation, |
|
110 |
report_desc=resource.report_desc, |
|
111 |
placeholder=resource.placeholder, |
|
112 |
verbose_name=resource.verbose_name, |
|
113 |
display_name=resource.display_name, |
|
114 |
pluralized_display_name=resource.pluralized_display_name, |
|
115 |
maxValue=quotas[k]['usage'], |
|
116 |
currValue=quotas[k]['limit'])) |
|
117 |
user_info['usage'] = usage |
|
118 |
|
|
119 | 90 |
response.content = json.dumps(user_info) |
120 | 91 |
response['Content-Type'] = 'application/json; charset=UTF-8' |
121 | 92 |
response['Content-Length'] = len(response.content) |
Also available in: Unified diff