def handle_exception(e): if isinstance(e, DirectoryException) \ and e.code == DirectoryException.RECORD_ALREADY_EXISTS: lg.error("Conflict error: _add_dir %s already_exists: %s" % (dname, str(e).encode('utf-8'))) return webservice.conflictError( request, "Directory %s already exists." % dname) return self.err(e, request, "_add_dir", "Could not add directory.")
def handle_exception(e): if isinstance(e, DirectoryException) \ and e.code == DirectoryException.RECORD_ALREADY_EXISTS: lg.error("Conflict error: _add_dir %s already_exists: %s" %(dname, str(e).encode('utf-8'))) return webservice.conflictError(request, "Directory %s already exists." % dname) return self.err(e, request, "_add_dir", "Could not add directory.")
def __post_rules__(self, tmp, request, data, content): if not content.has_key('policy_id'): return webservice.badRequest(request, 'Request must include policy id to update.') elif content['policy_id'] != self.policy.policy_id: return webservice.conflictError(request, 'Cannot apply changes to old policy id %u.' % content['policy_id']) if not content.has_key('rules'): return webservice.badRequest(request, 'Request must include array of new policy rules.') d = self.__categorize_rules__(content['rules']) d.addCallbacks(self.__post_rules2__, self.badReq, (request,), None, (request, "post_rules")) return d
def err_specific(res): if isinstance(res.value, DirectoryException): if res.value.code == DirectoryException.RECORD_ALREADY_EXISTS: lg.error("Conflict error: _modify_principal %s %s already exists: %s" \ % (type_str, content['name'], str(res))) return webservice.conflictError(request, "%s %s already exists." % (type_str.capitalize(), content['name'])) elif res.value.code == DirectoryException.NONEXISTING_NAME: lg.error("Bad request: _modify_principal %s %s does not exist: %s" \ % (type_str.capitalize(), mangled_name, str(res))) return webservice.notFound(request, "%s %s does not exist." % (type_str.capitalize(), mangled_name)) return self.err(res, request, "_modify_principal", "Could not modify principal.")
def err_specific(res): if isinstance(res.value, DirectoryException): if res.value.code == DirectoryException.RECORD_ALREADY_EXISTS: lg.error("Conflict error: _modify_principal %s %s already exists: %s" \ % (type_str, content['name'], str(res))) return webservice.conflictError( request, "%s %s already exists." % (type_str.capitalize(), content['name'])) elif res.value.code == DirectoryException.NONEXISTING_NAME: lg.error("Bad request: _modify_principal %s %s does not exist: %s" \ % (type_str.capitalize(), mangled_name, str(res))) return webservice.notFound( request, "%s %s does not exist." % (type_str.capitalize(), mangled_name)) return self.err(res, request, "_modify_principal", "Could not modify principal.")
def __post_rules__(self, tmp, request, data, content): if not content.has_key('policy_id'): return webservice.badRequest( request, 'Request must include policy id to update.') elif content['policy_id'] != self.policy.policy_id: return webservice.conflictError( request, 'Cannot apply changes to old policy id %u.' % content['policy_id']) if not content.has_key('rules'): return webservice.badRequest( request, 'Request must include array of new policy rules.') d = self.__categorize_rules__(content['rules']) d.addCallbacks(self.__post_rules2__, self.badReq, (request, ), None, (request, "post_rules")) return d