Repository navigation
Настройка процентных весов критериев и объяснение рейтинга - #541
Open
TThanos3000 wants to merge 1 commit into
Open
TThanos3000 wants to merge 1 commit into
TThanos3000 wants to merge 1 commit into
Conversation
This was referenced Nov 11, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что изменено
В существующем разделе «Оценивание → Критерии» организатор может выбрать процентные веса и распределить ровно 100%. Эксперт видит вес рядом с критерием и вводит исходные баллы; результаты объясняют итог 0–100 и вклад каждого критерия.
Зачем
Нужны критерии разной значимости для кейс-чемпионата. Спецификация и W01–W10, связанный API PR #862, frontend verification.
Реализация
API
Новые URL и payload исходных баллов не вводятся. Добавляются scoringMode, weightPercent и contributions; расчет и проверки доступа остаются на сервере. Сначала API #862 с миграциями, затем этот frontend. Автоматического переключения программ на веса нет.
UI
Ограниченное расширение существующей формы/карточек/диалога без нового маршрута и структуры навигации. Сохраняются Mont, appField/appButton, shared rating component, текущие tokens и responsive layout; нового CSS, UI library и декоративной анимации нет. Отдельный дизайн нового экрана не требуется для этого расширения существующих controls.
Проверены реальные desktop 1440 px / mobile 390 px, длинный текст режима, доступное имя числового поля, Enter для открытия объяснения и Escape для закрытия. Отсутствие весов, ошибка суммы, saving/disabled, 409 и старый API покрыты компонентными тестами.
Permissions
Не менялись: права и object scope проверяются API; frontend сохраняет серверную блокировку критериев и не выполняет расчет прав самостоятельно. Дополнительный пакетный редактор Django admin входит в API PR и использует тот же service.
Проверки
Acceptance criteria
Не проверено
Установка на dev/prod, реальная почта, нагрузка 100 участников и приемка клиента. Функция установлена на pilot в интеграционной сборке 971e52f (UI #540 / API #861). Независимая browser-проверка подтвердила форму, валидацию, mobile и results; настройки и revision на живом пилоте не менялись, процентные оценки не создавались. Квиз и смешанный рейтинг квиза/кейса не входят в PR. Скриншоты и QA credentials остаются вне Git. Общерепозиторный hook с автоисправлениями обойден только для этого commit после scoped checks, чтобы не изменять посторонние файлы; глобальная конфигурация hooks не менялась.
Риски / migration
Frontend миграций нет. API #862 добавляет режим с default legacy и nullable веса. Порядок установки: backend + миграции → frontend → организатор явно настраивает веса до первой оценки. Этот PR не выполняет merge или установку на реальные стенды.