diff --git a/engine/core/static/graphql.svg b/engine/core/static/graphql.svg new file mode 100644 index 00000000..cbf9d25c --- /dev/null +++ b/engine/core/static/graphql.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/engine/core/static/redoc.svg b/engine/core/static/redoc.svg new file mode 100644 index 00000000..bc0a2531 --- /dev/null +++ b/engine/core/static/redoc.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/engine/core/static/swagger.svg b/engine/core/static/swagger.svg new file mode 100644 index 00000000..cb06ec4b --- /dev/null +++ b/engine/core/static/swagger.svg @@ -0,0 +1,2 @@ + +file_type_swagger \ No newline at end of file diff --git a/evibes/settings/base.py b/evibes/settings/base.py index 3f0d742a..fbe8be79 100644 --- a/evibes/settings/base.py +++ b/evibes/settings/base.py @@ -108,13 +108,13 @@ SITE_ID: int = 1 INSTALLED_APPS: list[str] = [ "django_prometheus", - "constance", "unfold", "unfold.contrib.filters", "unfold.contrib.forms", "unfold.contrib.inlines", "unfold.contrib.constance", "unfold.contrib.import_export", + "constance", "modeltranslation", "django.contrib.admin", "django.contrib.admindocs", diff --git a/evibes/settings/constance.py b/evibes/settings/constance.py index b511e3d7..7634b520 100644 --- a/evibes/settings/constance.py +++ b/evibes/settings/constance.py @@ -2,11 +2,13 @@ from collections import OrderedDict from os import getenv from django.utils.translation import gettext_noop as _ +from unfold.contrib.constance.settings import UNFOLD_CONSTANCE_ADDITIONAL_FIELDS CONSTANCE_BACKEND = "constance.backends.database.DatabaseBackend" CONSTANCE_SUPERUSER_ONLY = False CONSTANCE_ADDITIONAL_FIELDS = { + **UNFOLD_CONSTANCE_ADDITIONAL_FIELDS, "json": [ "django.forms.fields.JSONField", { diff --git a/evibes/settings/unfold.py b/evibes/settings/unfold.py index e2fbd335..9247b627 100644 --- a/evibes/settings/unfold.py +++ b/evibes/settings/unfold.py @@ -73,6 +73,51 @@ UNFOLD = { "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",