Newer
Older
from cubicweb import AuthenticationError

François Ferry
committed
from pyramid.config import Configurator
from cubicweb_api import ApiException

François Ferry
committed

François Ferry
committed
class AnonymousOrConnectedUserPredicate:
def __init__(self, value, config):
self.value = value
def text(self):
return f"anonymous_or_connected = {self.value}"
phash = text
def __call__(self, context, request):
if (
request.authenticated_userid is not None
or request.registry["cubicweb.repository"].config["anonymous-user"]
is not None
):
return True
raise ApiException(AuthenticationError())

François Ferry
committed
def includeme(config: Configurator):
config.add_view_predicate(
"anonymous_or_connected", AnonymousOrConnectedUserPredicate
)