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