mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 00:27:11 +00:00
chore(backend): improvements in admin panel
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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 = "выданные ачивки"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 = "участия"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user