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