chore(backend): improvements in admin panel

This commit is contained in:
ITQ
2025-04-08 00:22:35 +03:00
parent 9f16caf0d4
commit ad0e795250
6 changed files with 28 additions and 11 deletions
+3 -1
View File
@@ -1,6 +1,6 @@
from django.contrib import admin
from apps.achievement.models import Achievement
from apps.achievement.models import Achievement, UserAchievement
@admin.register(Achievement)
@@ -13,3 +13,5 @@ class AchievementAdmin(admin.ModelAdmin):
"name",
"description",
)
admin.site.register(UserAchievement)
+7 -3
View File
@@ -27,7 +27,11 @@ class Achievement(BaseModel):
class UserAchievement(BaseModel):
achievement = models.ForeignKey(Achievement, on_delete=models.CASCADE)
user = models.ForeignKey("user.User", on_delete=models.CASCADE)
achievement = models.ForeignKey(Achievement, verbose_name="ачивка", on_delete=models.CASCADE)
user = models.ForeignKey("user.User", verbose_name="пользователь", on_delete=models.CASCADE)
received_at = models.DateTimeField(auto_now_add=True)
received_at = models.DateTimeField(verbose_name="дата получения", auto_now_add=True)
class Meta:
verbose_name = "выданная ачивка"
verbose_name_plural = "выданные ачивки"
+5 -2
View File
@@ -7,7 +7,7 @@ from django.shortcuts import get_object_or_404
from django.utils.html import format_html
from apps.user.models import User
from apps.competition.models import Competition
from apps.competition.models import Competition, State
from apps.task.admin import CompetitionTaskInline
from apps.task.models import CompetitionTaskSubmission, CompetitionTask
@@ -80,7 +80,10 @@ class CompetitionAdmin(admin.ModelAdmin):
context = dict(
self.admin_site.each_context(request),
title="Global Competition Leaderboard",
title="Лидерборд соревнования",
leaderboard=leaderboard,
)
return TemplateResponse(request, "admin/competition_leaderboard.html", context)
admin.site.register(State)
+8 -3
View File
@@ -59,11 +59,16 @@ class State(BaseModel):
STARTED = "started"
FINISHED = "finished"
user = models.ForeignKey(User, on_delete=models.CASCADE)
competition = models.ForeignKey(Competition, on_delete=models.CASCADE)
user = models.ForeignKey(User, verbose_name="участник", on_delete=models.CASCADE)
competition = models.ForeignKey(Competition, verbose_name="соревнование", on_delete=models.CASCADE)
state = models.CharField(
choices=StateChoices.choices,
verbose_name="статус",
max_length=11,
default=StateChoices.NOT_STARTED.value,
)
changed_at = models.DateTimeField(default=datetime.now)
changed_at = models.DateTimeField(verbose_name="изменено", default=datetime.now)
class Meta:
verbose_name = "участие"
verbose_name_plural = "участия"
+4 -1
View File
@@ -1,6 +1,6 @@
from django.contrib import admin
from apps.review.models import Reviewer
from apps.review.models import Reviewer, Review
@admin.register(Reviewer)
@@ -13,3 +13,6 @@ class ReviewersAdmin(admin.ModelAdmin):
"name",
"surname",
)
admin.site.register(Review)
+1 -1
View File
@@ -35,7 +35,7 @@ class Review(BaseModel):
)
evaluation = models.JSONField(
default=list, null=True, blank=True, verbose_name="выполнение"
default=list, null=True, blank=True, verbose_name="оценка"
)
state = models.CharField(
choices=ReviewStatusChoices.choices,