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