diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py index e92f3f847e5c1c9361f7803ca2c0ad2f4528b3a3..ccaac806eaff246d911ecf4146bad37747fc87c2 100644 --- a/aleksis/core/settings.py +++ b/aleksis/core/settings.py @@ -54,6 +54,7 @@ INSTALLED_APPS = [ "sass_processor", "easyaudit", "constance", + "constance.backends.database", "django_any_js", "django_yarnpkg", "django_tables2", @@ -251,7 +252,7 @@ ANY_JS = { SASS_PROCESSOR_AUTO_INCLUDE = False SASS_PROCESSOR_CUSTOM_FUNCTIONS = { "get-colour": "aleksis.core.util.sass_helpers.get_colour", - "get-setting": "aleksis.core.util.sass_helpers.get_setting", + "get-config": "aleksis.core.util.sass_helpers.get_config", } SASS_PROCESSOR_INCLUDE_DIRS = [_settings.get("materialize.sass_path", JS_ROOT + "/materialize-css/sass/"), STATIC_ROOT] @@ -274,15 +275,17 @@ TEMPLATE_VISIBLE_SETTINGS = ["ADMINS", "DEBUG"] CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend' CONSTANCE_ADDITIONAL_FIELDS = { - "image_field": ["django.forms.ImageField", {}] + "image_field": ["django.forms.ImageField", {}], + "email_field": ["django.forms.EmailField", {}], + "url_field": ["django.forms.URLField", {}], } CONSTANCE_CONFIG = { "COLOUR_PRIMARY": ("#007bff", _("Primary colour")), "COLOUR_SECONDARY": ("#007bff", _("Secondary colour")), "MAIL_OUT_NAME": ("AlekSIS", _("Mail out name")), - "MAIL_OUT": ("aleksis@example.com", _("Mail out address")), - "PRIVACY_URL": ("", _("Link to privacy policy")), - "IMPRINT_URL": ("", _("Link to imprint")), + "MAIL_OUT": ("aleksis@example.com", _("Mail out address"), "email_field"), + "PRIVACY_URL": ("", _("Link to privacy policy"), "url_field"), + "IMPRINT_URL": ("", _("Link to imprint"), "url_field"), } CONSTANCE_CONFIG_FIELDSETS = { "Theme settings": ("COLOUR_PRIMARY", "COLOUR_SECONDARY"), diff --git a/aleksis/core/static/theme.scss b/aleksis/core/static/theme.scss index 18b344169fe115d9175d8ac76df80d7dc9c178ae..36d3e3f55a0e37595f3dcc27230947875cd2648b 100644 --- a/aleksis/core/static/theme.scss +++ b/aleksis/core/static/theme.scss @@ -34,11 +34,11 @@ // 1. Colors // ========================================================================== -$primary-color: adjust-color(get-colour(get-setting(COLOUR_PRIMARY)), $alpha: 1); +$primary-color: adjust-color(get-colour(get-config(COLOUR_PRIMARY)), $alpha: 1); $primary-color-light: lighten($primary-color, 15%) !default; $primary-color-dark: darken($primary-color, 15%) !default; -$secondary-color: adjust-color(get-colour(get-setting(COLOUR_SECONDARY)), $alpha: 1); +$secondary-color: adjust-color(get-colour(get-config(COLOUR_SECONDARY)), $alpha: 1); $success-color: color("green", "base") !default; $error-color: color("red", "base") !default; $link-color: color("light-blue", "darken-1") !default; diff --git a/aleksis/core/util/sass_helpers.py b/aleksis/core/util/sass_helpers.py index 7c86f6337dc8d8dfaa89eb958737a3bf9a16c64f..a439a22f93446bad6762ec0a2b34a717bdd19cac 100644 --- a/aleksis/core/util/sass_helpers.py +++ b/aleksis/core/util/sass_helpers.py @@ -12,5 +12,5 @@ def get_colour(html_colour: str) -> SassColor: return SassColor(r, g, b, 255) -def get_setting(setting: str) -> str: +def get_config(setting: str) -> str: return getattr(config, setting, "") or getattr(settings, setting, "") diff --git a/poetry.lock b/poetry.lock index 9d000b9d8897277815c951e71190cd424cd8328e..f5c1485c4089a5b1fa46709e3926fa1b46189405 100644 --- a/poetry.lock +++ b/poetry.lock @@ -266,8 +266,6 @@ python-versions = "*" version = "2.5.0" [package.dependencies] -six = "*" - [package.dependencies.django-picklefield] optional = true version = "*" @@ -276,6 +274,10 @@ version = "*" database = ["django-picklefield"] redis = ["redis"] +[package.source] +reference = "590fa02eb30e377da0eda5cc3a84254b839176a7" +type = "git" +url = "https://github.com/jazzband/django-constance" [[package]] category = "main" description = "A configurable set of panels that display various debug information about the current request/response." @@ -430,6 +432,10 @@ version = "3.0.1" Django = ">=1.11.3" babel = "*" +[package.dependencies.phonenumbers] +optional = true +version = ">=7.0.2" + [package.extras] phonenumbers = ["phonenumbers (>=7.0.2)"] phonenumberslite = ["phonenumberslite (>=7.0.2)"] @@ -1671,7 +1677,7 @@ testing = ["pathlib2", "contextlib2", "unittest2"] ldap = ["django-auth-ldap"] [metadata] -content-hash = "bca26513f4520039661e719a675e767eef8a19273d1430cd0810ea8a10ea40da" +content-hash = "98fb74e38bacbbf64bd0919e01f0807bf1bb5fafb78056384ca84bf14f6aaad3" python-versions = "^3.7" [metadata.files] @@ -1795,10 +1801,7 @@ django-bulk-update = [ {file = "django-bulk-update-2.2.0.tar.gz", hash = "sha256:5ab7ce8a65eac26d19143cc189c0f041d5c03b9d1b290ca240dc4f3d6aaeb337"}, {file = "django_bulk_update-2.2.0-py2.py3-none-any.whl", hash = "sha256:49a403392ae05ea872494d74fb3dfa3515f8df5c07cc277c3dc94724c0ee6985"}, ] -django-constance = [ - {file = "django-constance-2.5.0.tar.gz", hash = "sha256:c47db4abd5788584115db681c0e8fef8ff870d49af90aa359076f0833a537199"}, - {file = "django_constance-2.5.0-py2.py3-none-any.whl", hash = "sha256:1b536d153c168ef548fea5bdcdea84afab83892e2163ec4e896557a3139effd7"}, -] +django-constance = [] django-debug-toolbar = [ {file = "django-debug-toolbar-2.1.tar.gz", hash = "sha256:24c157bc6c0e1648e0a6587511ecb1b007a00a354ce716950bff2de12693e7a8"}, {file = "django_debug_toolbar-2.1-py3-none-any.whl", hash = "sha256:77cfba1d6e91b9bc3d36dc7dc74a9bb80be351948db5f880f2562a0cbf20b6c5"}, diff --git a/pyproject.toml b/pyproject.toml index 03bf5cdc77f266f408b761cf8acba90e32d8cf99..15f4716bb42aaaf793586ec572d5998c50867217 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,7 +50,7 @@ django-two-factor-auth = { version = "^1.10.0", extras = [ "YubiKey", "phonenumb django-yarnpkg = "^6.0" django-material = "^1.6.0" django-pwa = "^1.0.6" -django-constance = {version = "^2.5.0", extras = ["database"]} +django-constance = {git = "https://github.com/jazzband/django-constance", rev = "590fa02eb30e377da0eda5cc3a84254b839176a7", extras = ["database"]} [tool.poetry.extras] ldap = ["django-auth-ldap"]