diff --git a/services/backend/api/v1/review/schemas.py b/services/backend/api/v1/review/schemas.py index 3e47f62..1b79004 100644 --- a/services/backend/api/v1/review/schemas.py +++ b/services/backend/api/v1/review/schemas.py @@ -37,6 +37,7 @@ class SubmissionOut(ModelSchema): submitted_at: datetime = Field(..., alias="timestamp") competition: UUID = Field(..., alias="task.competition.id") competition_name: str = Field(..., alias="task.competition.title") + task_position: int = Field(..., alias="task.in_competition_position") @staticmethod def resolve_criteries(self, context) -> list[CriteriaOut] | None: diff --git a/services/backend/apps/competition/admin.py b/services/backend/apps/competition/admin.py index 6c78551..a28901d 100644 --- a/services/backend/apps/competition/admin.py +++ b/services/backend/apps/competition/admin.py @@ -7,6 +7,7 @@ from apps.task.admin import CompetitionTaskInline @admin.register(Competition) class CompetitionAdmin(admin.ModelAdmin): list_display = ( + "id", "title", "end_date", "type", diff --git a/services/backend/apps/review/admin.py b/services/backend/apps/review/admin.py index c35598b..c173af7 100644 --- a/services/backend/apps/review/admin.py +++ b/services/backend/apps/review/admin.py @@ -4,14 +4,6 @@ from apps.review.models import Review, Reviewer @admin.register(Reviewer) -class ReviewAdmin(admin.ModelAdmin): +class ReviewersAdmin(admin.ModelAdmin): list_display = ("name", "surname",) search_fields = ("name", "surname",) - - -@admin.register(Review) -class ReviewAdmin(admin.ModelAdmin): - list_display = ("id", "reviewer", "submission",) - search_fields = ("id", "reviewer__id", "reviewer__name", "reviewer__surname", - "submission__id", "submission__content") - list_filter = ("submission__plagiarism_checked", "submission__status",) diff --git a/services/backend/apps/task/admin.py b/services/backend/apps/task/admin.py index dd3ed25..a09f852 100644 --- a/services/backend/apps/task/admin.py +++ b/services/backend/apps/task/admin.py @@ -12,6 +12,9 @@ class CompletionAttachmentInline(admin.StackedInline): @admin.register(CompetitionTask) class CompetitionTaskAdmin(admin.ModelAdmin): list_display = ("title", "type", "points") + filter_horizontal = ( + "reviewers", + ) @admin.register(CompetitionTaskSubmission) diff --git a/services/backend/apps/task/models.py b/services/backend/apps/task/models.py index b2741ed..3be2e97 100644 --- a/services/backend/apps/task/models.py +++ b/services/backend/apps/task/models.py @@ -51,7 +51,12 @@ class CompetitionTask(BaseModel): ) # only when "review" type - reviewers = models.ManyToManyField(Reviewer, blank=True) + reviewers = models.ManyToManyField( + Reviewer, + blank=True, + verbose_name="ревьюверы", + help_text="Справа отображаются действующие проверяющие, слева - доступные для выбора. Для перемещения можно кликнуть 2 раза по проверяющему" + ) def __str__(self): return self.title