Features: 1) Replace dictionary in CONSTANCE_CONFIG with a list for better structure; 2) Switch to gettext_noop for CONSTANCE_CONFIG_FIELDSETS keys instead of _;

Fixes: 1) Remove commented-out Redis backend reference in `CONSTANCE_BACKEND` declaration;

Extra: Simplify and improve readability of code with updated formatting and minor comment adjustments.
This commit is contained in:
Egor Pavlovich Gorbunov 2025-07-16 19:33:15 +03:00
parent 1ec8acdf4f
commit 9ec78c3360

View file

@ -1,11 +1,10 @@
from collections import OrderedDict
from django.utils.translation import gettext_lazy as _
from django.utils.translation import gettext_lazy as _, gettext_noop
from evibes.settings.base import getenv
CONSTANCE_BACKEND = "constance.backends.database.DatabaseBackend" # Or "constance.backends.redis.RedisBackend"
CONSTANCE_BACKEND = "constance.backends.database.DatabaseBackend"
CONSTANCE_SUPERUSER_ONLY = False
CONSTANCE_ADDITIONAL_FIELDS = {
@ -19,48 +18,40 @@ CONSTANCE_ADDITIONAL_FIELDS = {
}
CONSTANCE_CONFIG = OrderedDict(
{
"PROJECT_NAME": (getenv("EVIBES_PROJECT_NAME"), _("Name of the project")),
"FRONTEND_DOMAIN": (getenv("EVIBES_FRONTEND_DOMAIN"), _("Frontend domain name")),
"BASE_DOMAIN": (getenv("EVIBES_BASE_DOMAIN"), _("Base domain name")),
"COMPANY_NAME": (getenv("COMPANY_NAME"), _("Name of the company")),
"COMPANY_ADDRESS": (getenv("COMPANY_ADDRESS"), _("Address of the company")),
"COMPANY_PHONE_NUMBER": (getenv("COMPANY_PHONE_NUMBER"), _("Phone number of the company")),
"EMAIL_HOST": (getenv("EMAIL_HOST", "smtp.404.org"), _("SMTP host")),
"EMAIL_PORT": (int(getenv("EMAIL_PORT", "465")), _("SMTP port")),
"EMAIL_USE_TLS": (bool(int(getenv("EMAIL_USE_TLS", 0))), _("Use TLS (Specify 0 for No and 1 for Yes)")),
"EMAIL_USE_SSL": (bool(int(getenv("EMAIL_USE_SSL", 1))), _("Use SSL (Specify 0 for No and 1 for Yes)")),
"EMAIL_HOST_USER": (getenv("EMAIL_HOST_USER", "no-user@fix.this"), _("SMTP username")),
"EMAIL_HOST_PASSWORD": (getenv("EMAIL_HOST_PASSWORD", "SUPERsecretPASSWORD"), _("SMTP password")),
"EMAIL_FROM": (getenv("EMAIL_FROM", "eVibes"), _("Mail from option")),
"PAYMENT_GATEWAY_URL": (getenv("PAYMENT_GATEWAY_URL", "http://404.org"), _("Payment gateway URL")),
"PAYMENT_GATEWAY_TOKEN": (getenv("PAYMENT_GATEWAY_TOKEN", "example token"), _("Payment gateway token")),
"PAYMENT_GATEWAY_MINIMUM": (getenv("PAYMENT_GATEWAY_MINIMUM", 5.0), _("Payment gateway minimum amount")),
"PAYMENT_GATEWAY_MAXIMUM": (getenv("PAYMENT_GATEWAY_MAXIMUM", 500.0), _("Payment gateway maximum amount")),
"EXCHANGE_RATE_API_KEY": (getenv("EXCHANGE_RATE_API_KEY", "example token"), _("Exchange rate API key")),
"NOMINATIM_URL": (getenv("NOMINATIM_URL", ""), _("OpenStreetMap Nominatim API URL")),
"OPENAI_API_KEY": (getenv("OPENAI_API_KEY", "example key"), _("OpenAI API Key")),
"ABSTRACT_API_KEY": (
getenv("ABSTRACT_API_KEY", "example key"),
_("Abstract API Key, if empty - no Abstract features provided"),
[
("PROJECT_NAME", (getenv("EVIBES_PROJECT_NAME"), _("Name of the project"))),
("FRONTEND_DOMAIN", (getenv("EVIBES_FRONTEND_DOMAIN"), _("Frontend domain name"))),
("BASE_DOMAIN", (getenv("EVIBES_BASE_DOMAIN"), _("Base domain name"))),
("COMPANY_NAME", (getenv("COMPANY_NAME"), _("Name of the company"))),
("COMPANY_ADDRESS", (getenv("COMPANY_ADDRESS"), _("Address of the company"))),
("COMPANY_PHONE_NUMBER", (getenv("COMPANY_PHONE_NUMBER"), _("Phone number of the company"))),
("EMAIL_HOST", (getenv("EMAIL_HOST", "smtp.404.org"), _("SMTP host"))),
("EMAIL_PORT", (int(getenv("EMAIL_PORT", "465")), _("SMTP port"))),
("EMAIL_USE_TLS", (bool(int(getenv("EMAIL_USE_TLS", 0))), _("Use TLS (0=No, 1=Yes)"))),
("EMAIL_USE_SSL", (bool(int(getenv("EMAIL_USE_SSL", 1))), _("Use SSL (0=No, 1=Yes)"))),
("EMAIL_HOST_USER", (getenv("EMAIL_HOST_USER", "no-user@fix.this"), _("SMTP username"))),
("EMAIL_HOST_PASSWORD", (getenv("EMAIL_HOST_PASSWORD", "SUPERsecretPASSWORD"), _("SMTP password"))),
("EMAIL_FROM", (getenv("EMAIL_FROM", "eVibes"), _("Mail from option"))),
("PAYMENT_GATEWAY_URL", (getenv("PAYMENT_GATEWAY_URL", "http://404.org"), _("Payment gateway URL"))),
("PAYMENT_GATEWAY_TOKEN", (getenv("PAYMENT_GATEWAY_TOKEN", "example token"), _("Payment gateway token"))),
("PAYMENT_GATEWAY_MINIMUM", (getenv("PAYMENT_GATEWAY_MINIMUM", 5.0), _("Payment gateway minimum amount"))),
("PAYMENT_GATEWAY_MAXIMUM", (getenv("PAYMENT_GATEWAY_MAXIMUM", 500.0), _("Payment gateway maximum amount"))),
("EXCHANGE_RATE_API_KEY", (getenv("EXCHANGE_RATE_API_KEY", "example token"), _("Exchange rate API key"))),
("NOMINATIM_URL", (getenv("NOMINATIM_URL", ""), _("OpenStreetMap Nominatim API URL"))),
("OPENAI_API_KEY", (getenv("OPENAI_API_KEY", "example key"), _("OpenAI API Key"))),
("ABSTRACT_API_KEY", (getenv("ABSTRACT_API_KEY", "example key"), _("Abstract API Key"))),
("HTTP_PROXY", (getenv("DJANGO_HTTP_PROXY", "http://username:password@proxy_address:port"), _("HTTP Proxy"))),
("DISABLED_COMMERCE", (getenv("DISABLED_COMMERCE", False), _("Disable buy functionality"))),
(
"ADVERTISEMENT_DATA",
(getenv("EVIBES_ADVERTISEMENT_DATA", ""), _("An entity for storing advertisiment data"), "json"),
),
"HTTP_PROXY": (getenv("DJANGO_HTTP_PROXY", "http://username:password@proxy_address:port"), _("HTTP Proxy")),
"DISABLED_COMMERCE": (getenv("DISABLED_COMMERCE", False), _("Disable buy functionality")),
"ADVERTISEMENT_DATA": (
getenv("EVIBES_ADVERTISEMENT_DATA", ""),
_("An entity for storing advertisiment data"),
"json",
),
"ANALYTICS_DATA": (
getenv("EVIBES_ANALYTICS_DATA", ""),
_("An entity for storing analytics data"),
"json",
),
}
("ANALYTICS_DATA", (getenv("EVIBES_ANALYTICS_DATA", ""), _("An entity for storing analytics data"), "json")),
]
)
CONSTANCE_CONFIG_FIELDSETS = {
_("General Options"): (
gettext_noop("General Options"): (
"PROJECT_NAME",
"FRONTEND_DOMAIN",
"BASE_DOMAIN",
@ -68,7 +59,7 @@ CONSTANCE_CONFIG_FIELDSETS = {
"COMPANY_ADDRESS",
"COMPANY_PHONE_NUMBER",
),
_("Email Options"): (
gettext_noop("Email Options"): (
"EMAIL_HOST",
"EMAIL_PORT",
"EMAIL_USE_TLS",
@ -77,21 +68,21 @@ CONSTANCE_CONFIG_FIELDSETS = {
"EMAIL_HOST_PASSWORD",
"EMAIL_FROM",
),
_("Payment Gateway Options"): (
gettext_noop("Payment Gateway Options"): (
"PAYMENT_GATEWAY_URL",
"PAYMENT_GATEWAY_TOKEN",
"EXCHANGE_RATE_API_KEY",
"PAYMENT_GATEWAY_MINIMUM",
"PAYMENT_GATEWAY_MAXIMUM",
),
_("Features Options"): (
gettext_noop("Features Options"): (
"DISABLED_COMMERCE",
"NOMINATIM_URL",
"OPENAI_API_KEY",
"ABSTRACT_API_KEY",
"HTTP_PROXY",
),
_("SEO Options"): (
gettext_noop("SEO Options"): (
"ADVERTISEMENT_DATA",
"ANALYTICS_DATA",
),