Features: 1) Introduce OrderedDict for CONSTANCE_CONFIG for predictable key order; 2) Add CONSTANCE_CONFIG_FIELDSETS for better organization of configuration fields;
Fixes: 1) None; Extra: 1) Refactor `CONSTANCE_CONFIG` definition for improved readability and structure;
This commit is contained in:
parent
bcaa209fa7
commit
515beef39d
1 changed files with 76 additions and 34 deletions
|
|
@ -1,3 +1,5 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from evibes.settings.base import getenv
|
||||
|
|
@ -14,42 +16,82 @@ CONSTANCE_ADDITIONAL_FIELDS = {
|
|||
],
|
||||
}
|
||||
|
||||
CONSTANCE_CONFIG = {
|
||||
"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"),
|
||||
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"),
|
||||
),
|
||||
"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",
|
||||
),
|
||||
}
|
||||
)
|
||||
|
||||
CONSTANCE_CONFIG_FIELDSETS = {
|
||||
_("General Options"): (
|
||||
"PROJECT_NAME",
|
||||
"FRONTEND_DOMAIN",
|
||||
"BASE_DOMAIN",
|
||||
"COMPANY_NAME",
|
||||
"COMPANY_ADDRESS",
|
||||
"COMPANY_PHONE_NUMBER",
|
||||
),
|
||||
"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",
|
||||
_("Email Options"): (
|
||||
"EMAIL_HOST",
|
||||
"EMAIL_PORT",
|
||||
"EMAIL_USE_TLS",
|
||||
"EMAIL_USE_SSL",
|
||||
"EMAIL_HOST_USER",
|
||||
"EMAIL_HOST_PASSWORD",
|
||||
"EMAIL_FROM",
|
||||
),
|
||||
"ANALYTICS_DATA": (
|
||||
getenv("EVIBES_ANALYTICS_DATA", ""),
|
||||
_("An entity for storing analytics data"),
|
||||
"json",
|
||||
_("Payment Gateway Options"): (
|
||||
"PAYMENT_GATEWAY_URL",
|
||||
"PAYMENT_GATEWAY_TOKEN",
|
||||
"EXCHANGE_RATE_API_KEY",
|
||||
"PAYMENT_GATEWAY_MINIMUM",
|
||||
"PAYMENT_GATEWAY_MAXIMUM",
|
||||
),
|
||||
_("Features Options"): (
|
||||
"DISABLED_COMMERCE",
|
||||
"NOMINATIM_URL",
|
||||
"OPENAI_API_KEY",
|
||||
"ABSTRACT_API_KEY",
|
||||
"HTTP_PROXY",
|
||||
),
|
||||
_("SEO Options"): (
|
||||
"ADVERTISEMENT_DATA",
|
||||
"ANALYTICS_DATA",
|
||||
),
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue