Source code for yawf.resources.base

from yawf.exceptions import ResourcePermissionDeniedError


[docs]class WorkflowResource(object): def __init__(self, handler, resource_id, permission_checker, description=None, slug=None): super(WorkflowResource, self).__init__() self._handler = handler self.id = resource_id self.permission_checker = permission_checker self.description = description self.slug = slug or self.id def __call__(self, request, obj, sender): if self.permission_checker(obj, sender): return self._handler(request, obj, sender) else: raise ResourcePermissionDeniedError(self.id, obj, sender)