diff --git a/modoboa/admin/settings.py b/modoboa/admin/settings.py new file mode 100644 index 000000000..4898b0ddf --- /dev/null +++ b/modoboa/admin/settings.py @@ -0,0 +1,27 @@ +"""Default admin app settings.""" + +import os + +PLUGIN_BASE_DIR = os.path.dirname(__file__) + +ADMIN_STATS_FILES = { + "dev": os.path.join( + PLUGIN_BASE_DIR, "../frontend/webpack-stats.json"), + "prod": os.path.join( + PLUGIN_BASE_DIR, "static/admin/webpack-stats.json") +} + + +def apply(settings): + """Modify settings.""" + DEBUG = settings['DEBUG'] + if "webpack_loader" not in settings["INSTALLED_APPS"]: + settings["INSTALLED_APPS"] += ("webpack_loader", ) + settings["WEBPACK_LOADER"] = { + "CALENDAR": { + "CACHE": not DEBUG, + "BUNDLE_DIR_NAME": "admin/", + "STATS_FILE": ADMIN_STATS_FILES.get("dev" if DEBUG else "prod"), + "IGNORE": [".+\.hot-update.js", ".+\.map"] + } + } diff --git a/modoboa/core/commands/templates/settings.py.tpl b/modoboa/core/commands/templates/settings.py.tpl index 3f7ec5cf8..6b0c9f68f 100644 --- a/modoboa/core/commands/templates/settings.py.tpl +++ b/modoboa/core/commands/templates/settings.py.tpl @@ -299,6 +299,10 @@ SILENCED_SYSTEM_CHECKS = [ "security.W019", # modoboa uses iframes to display e-mails ] +# Load admin settings +from modoboa.admin import settings as admin_settings +admin_settings.apply(globals()) + # Load settings from extensions {% for extension in extra_settings %} try: