delegate enabled check to apps
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
parent
054a2e8aec
commit
e8ec8d994f
|
@ -1,4 +1,6 @@
|
||||||
"""Enterprise app config"""
|
"""Enterprise app config"""
|
||||||
|
from functools import lru_cache
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
from authentik.blueprints.apps import ManagedAppConfig
|
from authentik.blueprints.apps import ManagedAppConfig
|
||||||
|
@ -25,3 +27,12 @@ class AuthentikEnterpriseConfig(EnterpriseConfig):
|
||||||
orig_import = "authentik.events.middleware.AuditMiddleware"
|
orig_import = "authentik.events.middleware.AuditMiddleware"
|
||||||
new_import = "authentik.enterprise.middleware.EnterpriseAuditMiddleware"
|
new_import = "authentik.enterprise.middleware.EnterpriseAuditMiddleware"
|
||||||
settings.MIDDLEWARE = [new_import if x == orig_import else x for x in settings.MIDDLEWARE]
|
settings.MIDDLEWARE = [new_import if x == orig_import else x for x in settings.MIDDLEWARE]
|
||||||
|
|
||||||
|
def enabled(self):
|
||||||
|
return self.check_enabled()
|
||||||
|
|
||||||
|
@lru_cache()
|
||||||
|
def check_enabled(self):
|
||||||
|
from authentik.enterprise.models import LicenseKey
|
||||||
|
|
||||||
|
return LicenseKey.get_total().is_valid()
|
||||||
|
|
|
@ -4,6 +4,7 @@ from functools import partial
|
||||||
from typing import Callable
|
from typing import Callable
|
||||||
|
|
||||||
from deepdiff import DeepDiff
|
from deepdiff import DeepDiff
|
||||||
|
from django.apps.registry import apps
|
||||||
from django.core.files import File
|
from django.core.files import File
|
||||||
from django.db import connection
|
from django.db import connection
|
||||||
from django.db.models import Model
|
from django.db.models import Model
|
||||||
|
@ -12,7 +13,6 @@ from django.db.models.signals import post_init
|
||||||
from django.http import HttpRequest, HttpResponse
|
from django.http import HttpRequest, HttpResponse
|
||||||
|
|
||||||
from authentik.core.models import User
|
from authentik.core.models import User
|
||||||
from authentik.enterprise.models import LicenseKey
|
|
||||||
from authentik.events.middleware import AuditMiddleware, should_log_model
|
from authentik.events.middleware import AuditMiddleware, should_log_model
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ class EnterpriseAuditMiddleware(AuditMiddleware):
|
||||||
|
|
||||||
def __init__(self, get_response: Callable[[HttpRequest], HttpResponse]):
|
def __init__(self, get_response: Callable[[HttpRequest], HttpResponse]):
|
||||||
super().__init__(get_response)
|
super().__init__(get_response)
|
||||||
self._enabled = LicenseKey.get_total().is_valid()
|
self._enabled = apps.get_app_config("authentik_enterprise").enabled()
|
||||||
|
|
||||||
def connect(self, request: HttpRequest):
|
def connect(self, request: HttpRequest):
|
||||||
super().connect(request)
|
super().connect(request)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
"""Enterprise signals"""
|
"""Enterprise signals"""
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
from django.apps.registry import apps
|
||||||
from django.db.models.signals import pre_save
|
from django.db.models.signals import pre_save
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from django.utils.timezone import get_current_timezone
|
from django.utils.timezone import get_current_timezone
|
||||||
|
@ -16,3 +17,4 @@ def pre_save_license(sender: type[License], instance: License, **_):
|
||||||
instance.internal_users = status.internal_users
|
instance.internal_users = status.internal_users
|
||||||
instance.external_users = status.external_users
|
instance.external_users = status.external_users
|
||||||
instance.expiry = datetime.fromtimestamp(status.exp, tz=get_current_timezone())
|
instance.expiry = datetime.fromtimestamp(status.exp, tz=get_current_timezone())
|
||||||
|
apps.get_app_config("authentik_enterprise").check_enabled.cache_clear()
|
||||||
|
|
Reference in New Issue