39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
from django.apps import AppConfig
|
|
|
|
|
|
class OpenEdxTenantApiConfig(AppConfig):
|
|
default_auto_field = 'django.db.models.BigAutoField'
|
|
name = 'openedx_tenant_api'
|
|
verbose_name = 'Open edX Tenant API'
|
|
|
|
def ready(self):
|
|
# Add URL patterns to LMS urls
|
|
self._add_url_patterns()
|
|
|
|
def _add_url_patterns(self):
|
|
"""Add tenant API URL patterns to LMS URLconf."""
|
|
try:
|
|
from django.urls import path, include
|
|
from django.conf import settings
|
|
import lms.urls
|
|
|
|
# Check if already added
|
|
url_path = path("api/tenant/", include("openedx_tenant_api.urls", namespace="tenant_api"))
|
|
|
|
# Add to urlpatterns if not already present
|
|
pattern_exists = False
|
|
for pattern in lms.urls.urlpatterns:
|
|
if hasattr(pattern, 'pattern') and pattern.pattern.describe().startswith("'^api/tenant/'"):
|
|
pattern_exists = True
|
|
break
|
|
|
|
if not pattern_exists:
|
|
lms.urls.urlpatterns.append(url_path)
|
|
except ImportError:
|
|
# LMS URLs not available (e.g., in CMS)
|
|
pass
|
|
except Exception as e:
|
|
import logging
|
|
logger = logging.getLogger(__name__)
|
|
logger.warning(f"Could not add tenant API URLs: {e}")
|