def update(self, req, id, body): context = req.environ['patron.context'] authorize(context) quota_class = id bad_keys = [] if not self.is_valid_body(body, 'quota_class_set'): msg = _("quota_class_set not specified") raise webob.exc.HTTPBadRequest(explanation=msg) quota_class_set = body['quota_class_set'] for key in quota_class_set.keys(): if key not in self.supported_quotas: bad_keys.append(key) continue try: value = utils.validate_integer(body['quota_class_set'][key], key) except exception.InvalidInput as e: raise webob.exc.HTTPBadRequest(explanation=e.format_message()) if bad_keys: msg = _("Bad key(s) %s in quota_set") % ",".join(bad_keys) raise webob.exc.HTTPBadRequest(explanation=msg) for key in quota_class_set.keys(): value = utils.validate_integer(body['quota_class_set'][key], key) try: db.quota_class_update(context, quota_class, key, value) except exception.QuotaClassNotFound: db.quota_class_create(context, quota_class, key, value) except exception.AdminRequired: raise webob.exc.HTTPForbidden() values = QUOTAS.get_class_quotas(context, quota_class) return self._format_quota_set(None, values)
def update(self, req, id, body): context = req.environ['patron.context'] authorize(context) quota_class = id for key, value in body['quota_class_set'].iteritems(): try: db.quota_class_update(context, quota_class, key, value) except exception.QuotaClassNotFound: db.quota_class_create(context, quota_class, key, value) except exception.AdminRequired: raise webob.exc.HTTPForbidden() values = QUOTAS.get_class_quotas(context, quota_class) return self._format_quota_set(None, values)
def update(self, req, id, body): context = req.environ['patron.context'] authorize(context) quota_class = id bad_keys = [] if not self.is_valid_body(body, 'quota_class_set'): msg = _("quota_class_set not specified") raise webob.exc.HTTPBadRequest(explanation=msg) quota_class_set = body['quota_class_set'] for key in quota_class_set.keys(): if key not in self.supported_quotas: bad_keys.append(key) continue try: value = utils.validate_integer( body['quota_class_set'][key], key) except exception.InvalidInput as e: raise webob.exc.HTTPBadRequest( explanation=e.format_message()) if bad_keys: msg = _("Bad key(s) %s in quota_set") % ",".join(bad_keys) raise webob.exc.HTTPBadRequest(explanation=msg) for key in quota_class_set.keys(): value = utils.validate_integer( body['quota_class_set'][key], key) try: db.quota_class_update(context, quota_class, key, value) except exception.QuotaClassNotFound: db.quota_class_create(context, quota_class, key, value) except exception.AdminRequired: raise webob.exc.HTTPForbidden() values = QUOTAS.get_class_quotas(context, quota_class) return self._format_quota_set(None, values)