Revision 5485e68e snf-astakos-app/astakos/im/quotas.py

b/snf-astakos-app/astakos/im/quotas.py
31 31
# interpreted as representing official policies, either expressed
32 32
# or implied, of GRNET S.A.
33 33

  
34
import copy
35 34
from synnefo.util import units
36 35
from astakos.im.models import (
37 36
    Resource, AstakosUserQuota, AstakosUser, Service,
......
70 69
    return quota
71 70

  
72 71

  
73
def get_counters(users, resources=None, sources=None):
72
def get_counters(users, resources=None, sources=None, flt=None):
74 73
    uuids = [user.uuid for user in users]
75 74

  
76 75
    counters = qh.get_quota(holders=uuids,
77 76
                            resources=resources,
78
                            sources=sources)
77
                            sources=sources,
78
                            flt=flt)
79 79
    return counters
80 80

  
81 81

  
82
def get_users_quotas(users, resources=None, sources=None):
83
    counters = get_counters(users, resources, sources)
82
def get_users_quotas(users, resources=None, sources=None, flt=None):
83
    counters = get_counters(users, resources, sources, flt=flt)
84 84
    quotas = transform_data(counters)
85 85
    return quotas
86 86

  
......
149 149
    qh_sync_locked_user(quota.user)
150 150

  
151 151

  
152
def initial_quotas(users):
152

  
153
def initial_quotas(users, flt=None):
154
    if flt is None:
155
        flt = Q()
156

  
153 157
    userids = [user.pk for user in users]
154 158
    objs = AstakosUserQuota.objects.select_related()
155
    orig_quotas = objs.filter(user__pk__in=userids)
159
    orig_quotas = objs.filter(user__pk__in=userids).filter(flt)
156 160
    initial = {}
157 161
    for user_quota in orig_quotas:
158 162
        uuid = user_quota.user.uuid
......
218 222
    return quotas
219 223

  
220 224

  
221
def list_user_quotas(users):
222
    qh_quotas = get_users_quotas(users)
223
    astakos_initial = initial_quotas(users)
225
def list_user_quotas(users, qhflt=None, initflt=None):
226
    qh_quotas = get_users_quotas(users, flt=qhflt)
227
    astakos_initial = initial_quotas(users, flt=initflt)
224 228
    return qh_quotas, astakos_initial
225 229

  
226 230

  

Also available in: Unified diff