Example #1
0
 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.")
Example #3
0
    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.")
Example #5
0
        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.")
Example #6
0
    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