Revision 2425992b snf-cyclades-app/synnefo/ui/views.py
b/snf-cyclades-app/synnefo/ui/views.py | ||
---|---|---|
229 | 229 |
return template('machines_console', request, context) |
230 | 230 |
|
231 | 231 |
def user_quota(request): |
232 |
get_user(request, settings.ASTAKOS_URL) |
|
232 |
try: |
|
233 |
get_user(request, settings.ASTAKOS_URL, usage=True) |
|
234 |
except TypeError: |
|
235 |
# astakos client backwards compatibility |
|
236 |
get_user(request, settings.ASTAKOS_URL) |
|
237 |
|
|
233 | 238 |
vms_limit_for_user = \ |
234 | 239 |
settings.VMS_USER_QUOTA.get(request.user_uniq, |
235 | 240 |
settings.MAX_VMS_PER_USER) |
... | ... | |
237 | 242 |
networks_limit_for_user = \ |
238 | 243 |
settings.NETWORKS_USER_QUOTA.get(request.user_uniq, |
239 | 244 |
settings.MAX_NETWORKS_PER_USER) |
245 |
|
|
246 |
if 'usage' in request.user: |
|
247 |
quota = dict(zip([q['name'] for q in request.user['usage']], |
|
248 |
request.user['usage'])) |
|
249 |
|
|
250 |
# TODO: is it ok to use hardcoded resource name ??? |
|
251 |
if 'cyclades.vm' in quota: |
|
252 |
vms_limit_for_user = quota['cyclades.vm']['maxValue'] |
|
253 |
if 'cyclades.network.private' in quota: |
|
254 |
vms_limit_for_user = quota['cyclades.network.private']['maxValue'] |
|
255 |
|
|
240 | 256 |
return HttpResponse('{"vms_quota":%d, "networks_quota":%d}' % (vms_limit_for_user, |
241 | 257 |
networks_limit_for_user), |
242 | 258 |
mimetype="application/json") |
Also available in: Unified diff