- ensure TENANT_APPS is defined in settings.py
- ensure TENANT_MODEL is defined in settings.py
- ensure TenantSyncRouter appears in DATABASE_ROUTERS
- ensure public schema and any existing tenant schemas are not listed in PG_EXTRA_SEARCH_PATHS
- raise error when TENANT_APPS is empty
- issue warning when 'tenant_schemas' is not the last item in INSTALLED_APPS
- issue warning when items in TENANT_APPS are not in INSTALLED_APPS
- add checks for SHARED_APPS
- add test cases for the best_practice system check
- update install documentation which previously suggested concatenation
- fix import path of get_public_schema_name
- fix failing test case for TenantContextFilter
- update tox.ini
- add .travis.yml
- PEP8 fixes
- resolves template loading in Django 1.8+ (thanks to @tomturner)
- removed code branches based on django.VERSION value
- updated documentation to remove details of removed functionality
Closes #289
The FakeTenant does not have a domain_url attribute. Alternative would be to set domain_url, but it seems more appropriate to bypass this loader for the FakeTenant.
CachedLoader is similar to the django.template.loaders.cached.Loader but
it adds the tenant instance id to the key used for caching.
FilesystemLoader is similar to django.template.loaders.filesyste.Loader
but it uses the setting key MULTITENANT_TEMPLATE_DIRS instead of
TEMPLATE_DIRS and looks for template inside the directory
os.path.join(MULTITENANT_TEMPLATE_DIRS, tenant.domain_url).