From 3206e6a68ca30e8ebfe3840fccf6dcd01121b6dd Mon Sep 17 00:00:00 2001 From: Timur Date: Sat, 1 Mar 2025 14:05:44 +0300 Subject: [PATCH 1/3] remove built-in user and group managment --- services/backend/apps/core/admin.py | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 services/backend/apps/core/admin.py diff --git a/services/backend/apps/core/admin.py b/services/backend/apps/core/admin.py new file mode 100644 index 0000000..8a7dbe4 --- /dev/null +++ b/services/backend/apps/core/admin.py @@ -0,0 +1,5 @@ +from django.contrib import admin +from django.contrib.auth.models import Group, User + +admin.site.unregister(Group) +admin.site.unregister(User) From f314d4f1d192f6db3caa12fbf180f8f325ac28d3 Mon Sep 17 00:00:00 2001 From: Timur Date: Sat, 1 Mar 2025 14:06:54 +0300 Subject: [PATCH 2/3] change default language to russian --- services/backend/config/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/backend/config/settings.py b/services/backend/config/settings.py index af79c52..c332120 100644 --- a/services/backend/config/settings.py +++ b/services/backend/config/settings.py @@ -227,7 +227,7 @@ FIRST_DAY_OF_WEEK = 1 FORMAT_MODULE_PATH = None -LANGUAGE_CODE = env("DJANGO_LANGUAGE_CODE", default="en-us") +LANGUAGE_CODE = env("DJANGO_LANGUAGE_CODE", default="ru-ru") LANGUAGES = [("en", _("English")), ("ru", _("Russian"))] From 689179080d3f844f035220ba07239ead7930131e Mon Sep 17 00:00:00 2001 From: Timur Date: Sat, 1 Mar 2025 14:34:19 +0300 Subject: [PATCH 3/3] add base admin for conpetitions --- services/backend/apps/competition/admin.py | 10 ++++++++++ services/backend/apps/competition/apps.py | 1 + services/backend/apps/competition/models.py | 12 ++++++++---- services/backend/pyproject.toml | 1 + 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 services/backend/apps/competition/admin.py diff --git a/services/backend/apps/competition/admin.py b/services/backend/apps/competition/admin.py new file mode 100644 index 0000000..59e6800 --- /dev/null +++ b/services/backend/apps/competition/admin.py @@ -0,0 +1,10 @@ +from django.contrib import admin + +from apps.competition.models import Competition + + +@admin.register(Competition) +class CompetitionAdmin(admin.ModelAdmin): + list_display = ("title", "end_date", "type",) + search_fields = ("title", "description",) + list_filter = ("type", "participation_type",) diff --git a/services/backend/apps/competition/apps.py b/services/backend/apps/competition/apps.py index ff3cb4b..d343cd0 100644 --- a/services/backend/apps/competition/apps.py +++ b/services/backend/apps/competition/apps.py @@ -4,3 +4,4 @@ from django.apps import AppConfig class CompetitionsConfig(AppConfig): name = "apps.competition" label = "competition" + verbose_name = "Соревнование" diff --git a/services/backend/apps/competition/models.py b/services/backend/apps/competition/models.py index 589ce91..0c6bd19 100644 --- a/services/backend/apps/competition/models.py +++ b/services/backend/apps/competition/models.py @@ -8,11 +8,11 @@ from apps.user.models import User class Competition(BaseModel): class CompetitionType(models.TextChoices): - SOLO = "solo" + SOLO = "solo", "Индивидуальный" class CompetitionParticipationType(models.TextChoices): - EDU = "edu" - COMPETITIVE = "competitive" + EDU = "edu", "Образовательный" + COMPETITIVE = "competitive", "Соревновательный" title = models.CharField(max_length=100, verbose_name="Название") description = models.TextField(verbose_name="Описание") @@ -35,7 +35,11 @@ class Competition(BaseModel): choices=CompetitionParticipationType.choices, verbose_name="Тип соревнования", ) - participants = models.ManyToManyField(User, related_name="participants") + participants = models.ManyToManyField(User, related_name="participants", blank=True, + editable=False) + + def __str__(self): + return self.title class Meta: verbose_name = "соревнование" diff --git a/services/backend/pyproject.toml b/services/backend/pyproject.toml index 0aaa38b..b6292e0 100644 --- a/services/backend/pyproject.toml +++ b/services/backend/pyproject.toml @@ -20,6 +20,7 @@ dependencies = [ "psycopg2-binary>=2.9.10", "pydantic>=2.10.5", "pyjwt>=2.10.1", + "python-gettext>=5.0", "python-json-logger>=3.2.1", "pytz>=2024.2", "redis>=5.2.1",