Revision f72ba65d snf-astakos-app/astakos/im/management/commands/user-modify.py
b/snf-astakos-app/astakos/im/management/commands/user-modify.py | ||
---|---|---|
43 | 43 |
from django.core.validators import validate_email |
44 | 44 |
|
45 | 45 |
from synnefo.util import units |
46 |
from astakos.im.models import AstakosUser, Resource
|
|
46 |
from astakos.im.models import AstakosUser, AstakosUserQuota
|
|
47 | 47 |
from astakos.im import quotas |
48 | 48 |
from astakos.im import activation_backends |
49 | 49 |
from ._common import (remove_user_permission, add_user_permission, is_uuid, |
... | ... | |
345 | 345 |
raise CommandError(m) |
346 | 346 |
|
347 | 347 |
try: |
348 |
quota, default_capacity = user.get_resource_policy(resource)
|
|
349 |
except Resource.DoesNotExist:
|
|
348 |
quota = user.get_resource_policy(resource) |
|
349 |
except AstakosUserQuota.DoesNotExist:
|
|
350 | 350 |
raise CommandError("No such resource: %s" % resource) |
351 | 351 |
|
352 |
default_capacity = quota.resource.uplimit |
|
352 | 353 |
if not force: |
353 | 354 |
s_default = show_resource_value(default_capacity, resource, style) |
354 |
s_current = (show_resource_value(quota.capacity, resource, style) |
|
355 |
if quota is not None else 'default') |
|
355 |
s_current = show_resource_value(quota.capacity, resource, style) |
|
356 | 356 |
s_capacity = (show_resource_value(capacity, resource, style) |
357 | 357 |
if capacity != 'default' else capacity) |
358 | 358 |
self.stdout.write("user: %s (%s)\n" % (user.uuid, user.username)) |
... | ... | |
366 | 366 |
return |
367 | 367 |
|
368 | 368 |
if capacity == 'default': |
369 |
try: |
|
370 |
quotas.remove_base_quota(user, resource) |
|
371 |
except Exception as e: |
|
372 |
import traceback |
|
373 |
traceback.print_exc() |
|
374 |
raise CommandError("Failed to remove policy: %s" % e) |
|
375 |
else: |
|
376 |
try: |
|
377 |
quotas.add_base_quota(user, resource, capacity) |
|
378 |
except Exception as e: |
|
379 |
raise CommandError("Failed to add policy: %s" % e) |
|
369 |
capacity = default_capacity |
|
370 |
quotas.update_base_quota(quota, capacity) |
Also available in: Unified diff