123456789101112131415161718192021222324 |
- from django.core.exceptions import PermissionDenied
- from django.http import Http404
- def require_target_type(supported_type):
- def wrap(f):
- def decorator(user, target):
- if isinstance(target, supported_type):
- return f(user, target)
- else:
- return None
- return decorator
- return wrap
- def return_boolean(f):
- def decorator(*args, **kwargs):
- try:
- f(*args, **kwargs)
- except (Http404, PermissionDenied):
- return False
- else:
- return True
- return decorator
|