Merge "Add quota check for domain create"

This commit is contained in:
Jenkins 2015-05-12 12:50:34 +00:00 committed by Gerrit Code Review
commit 6f01c060f7
2 changed files with 19 additions and 0 deletions

View File

@ -165,3 +165,10 @@ def record_update(request, domain_id, record_id, **kwargs):
record.description = kwargs.get('description', None)
return d_client.records.update(domain_id, record)
def quota_get(request, project_id=None):
if not project_id:
project_id = request.user.project_id
d_client = designateclient(request)
return d_client.quotas.get(project_id)

View File

@ -17,6 +17,7 @@ from django.core import urlresolvers
from django.utils.translation import ugettext_lazy as _ # noqa
from horizon import tables
from horizon.utils import memoized
from designatedashboard import api
@ -44,6 +45,17 @@ class CreateDomain(tables.LinkAction):
classes = ("ajax-modal", "btn-create")
policy_rules = (("dns", "create_domain"),)
@memoized.memoized_method
def allowed(self, request, datum):
try:
if self.table:
quota = api.designate.quota_get(request)
return quota['domains'] > len(self.table.data)
except:
msg = _("The quotas could not be retrieved.")
messages.warning(request, msg)
return True
class EditDomain(tables.LinkAction):