def METHOD_NAME(func):
    @wraps(func)
    def decorated_view(*args, **kwargs):
        override_blocking = kwargs.pop('override_blocking', False)
        override_blocking = bool(override_blocking)
        if not override_blocking:
            actions = current_app.config.get(
                'CIRCULATION_ACTIONS_VALIDATION', {})
            for func_name in actions.get(action, []):
                func_callback = obj_or_import_string(func_name)
                can, reasons = func_callback(args[0], **kwargs)
                if not can:
                    raise CirculationException(description=reasons[0])
        return func(*args, **kwargs)
    return decorated_view