schon/evibes/settings/unfold.py
Egor fureunoir Gorbunov 9f46252f48 Features: 1) Add new admin menu items for Config, Users, Groups, Products, Categories, Brands, Blogposts, Periodic Tasks, and Sitemap; 2) Integrate Unfold's constance additional fields into CONSTANCE_ADDITIONAL_FIELDS;
Fixes: 1) Reorder INSTALLED_APPS to place "constance" after "unfold.contrib.constance";

Extra: 1) Update SVG icon for health check; 2) Add missing import for UNFOLD_CONSTANCE_ADDITIONAL_FIELDS; 3) Fix indentation in constance.py.
2025-11-15 03:57:13 +03:00

150 lines
5.4 KiB
Python

from django.templatetags.static import static
from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _
from evibes.settings.base import PROJECT_NAME, STOREFRONT_DOMAIN, SUPPORT_CONTACT, TASKBOARD_URL
UNFOLD = {
"SITE_URL": STOREFRONT_DOMAIN,
"SITE_TITLE": f"{PROJECT_NAME} Dashboard",
"SITE_HEADER": PROJECT_NAME,
"SITE_LOGO": "favicon.png",
"SITE_ICON": "favicon.ico",
"SITE_SYMBOL": "money",
"SHOW_LANGUAGES": True,
"SHOW_VIEW_ON_SITE": False,
"LOGIN": {
"image": lambda request: static("favicon.png"),
},
"COMMAND": {
"search_models": True,
"show_history": True,
},
"EXTENSIONS": {
"modeltranslation": {
"flags": {
"ar-ar": "🇸🇦",
"cs-cz": "🇨🇿",
"da-dk": "🇩🇰",
"de-de": "🇩🇪",
"en-gb": "🇬🇧",
"en-us": "🇺🇸",
"es-es": "🇪🇸",
"fa-ir": "🇮🇷",
"fr-fr": "🇫🇷",
"he-il": "🇮🇱",
"hi-in": "🇮🇳",
"hr-hr": "🇭🇷",
"id-id": "🇮🇩",
"it-it": "🇮🇹",
"ja-jp": "🇯🇵",
"kk-kz": "🇰🇿",
"ko-kr": "🇰🇷",
"nl-nl": "🇳🇱",
"no-no": "🇳🇴",
"pl-pl": "🇵🇱",
"pt-br": "🇧🇷",
"ro-ro": "🇷🇴",
"ru-ru": "🇷🇺",
"sv-se": "🇸🇪",
"th-th": "🇹🇭",
"tr-tr": "🇹🇷",
"vi-vn": "🇻🇳",
"zh-hans": "🇨🇳",
},
},
},
"SIDEBAR": {
"show_search": True,
"show_all_applications": True,
"navigation": [
{
"title": _("Menu"),
"separator": True,
"collapsible": False,
"items": [
{
"title": _("Dashboard"),
"icon": "dashboard",
"link": reverse_lazy("admin:index"),
},
{
"title": _("Health"),
"icon": "health_metrics",
"link": reverse_lazy("health_check:health_check_home"),
},
{
"title": _("Config"),
"icon": "construction",
"link": reverse_lazy("admin:core_config_changelist"),
},
{
"title": _("Users"),
"icon": "person",
"link": reverse_lazy("admin:vibes_auth_user_changelist"),
},
{
"title": _("Groups"),
"icon": "people",
"link": reverse_lazy("admin:vibes_auth_group_changelist"),
},
{
"title": _("Products"),
"icon": "storefront",
"link": reverse_lazy("admin:core_product_changelist"),
},
{
"title": _("Categories"),
"icon": "category",
"link": reverse_lazy("admin:core_category_changelist"),
},
{
"title": _("Brands"),
"icon": "copyright",
"link": reverse_lazy("admin:core_brand_changelist"),
},
{
"title": _("Blogposts"),
"icon": "newspaper",
"link": reverse_lazy("admin:blog_post_changelist"),
},
{
"title": _("Periodic Tasks"),
"icon": "event_list",
"link": reverse_lazy("admin:django_celery_beat_periodictask_changelist"),
},
{
"title": _("Sitemap"),
"icon": "rss_feed",
"link": reverse_lazy("core:sitemap-index"),
},
{
"title": _("Swagger"),
"icon": "integration_instructions",
"link": reverse_lazy("swagger-ui-platform"),
},
{
"title": _("Redoc"),
"icon": "integration_instructions",
"link": reverse_lazy("redoc-ui-platform"),
},
{
"title": _("GraphQL"),
"icon": "graph_5",
"link": reverse_lazy("graphql-platform"),
},
{
"title": _("Taskboard"),
"icon": "view_kanban",
"link": TASKBOARD_URL,
},
{
"title": _("Support"),
"icon": "contact_support",
"link": SUPPORT_CONTACT,
},
],
},
],
},
}