Графік конструктора: 7 квітня 2026 року

07 квітня, 2026

Огляд

У цьому релізі ми додали такі функції:

  • Налаштовувана заздалегідь визначена тривалість іспитів
  • Блокування полів для викладача під час вікон самообслуговування
  • Видимість рішень на основі ролей
  • Покращений звіт розкладу іспитів
  • Інтеграція Constructor University API: розділення багатомодульних іспитів і зарахування перескладувачів
  • Мікрофронтенд навігації на Vue.js для Constructor Cloud
  • Двигун узгодженості організаційних даних для CUB API

Що нового

Налаштовувані заздалегідь визначені тривалості іспитів

Тепер установи можуть контролювати, як викладачі вводять тривалості іспитів за допомогою нового параметра в розділі Налаштування сторінки планування. Доступні два режими: вільний ввід і заздалегідь визначені значення. У режимі з визначеними значеннями адміністратори задають від 1 до 10 дозволених значень тривалості іспиту в хвилинах. Викладачі мають обирати зі списку замість ручного введення тривалості. Система перевіряє, що обрані тривалості відповідають правилу тривалості слота, гарантуючи принаймні 10 хвилин для евакуації з аудиторії. Ця функція також підтримується через веб‑сервіси для інтеграції з зовнішніми системами.

Блокування полів для викладача під час вікон самообслуговування

Коли адміністратори визначають часовий інтервал, у який викладачі можуть виконувати обмежені редагування, поля майстер‑даних установи тепер автоматично блокуються. Під час вікна самообслуговування викладачі не можуть змінювати структурні поля, такі як Тип курсу, Кількість лекцій, Факультет, Програма, Викладачі, Оцінка, Група або Кампус. Також відключено дублювання секцій, видалення секцій та вибір рядків. Система забезпечує дотримання цих обмежень як на фронтенді, так і на рівні API, а заблоковані операції логуються для аудиту. Це запобігає випадковим змінам академічної структури, але все ще дозволяє викладачам керувати дозволеними полями.

Видимість рішень на основі ролей

Сторінка рішень тепер обмежує видимість залежно від статусу публікації та ролі користувача. Користувачі без прав адміністратора бачать у випадаючому списку лише опубліковані рішення, що запобігає плутанині через чернетки або незавершені розклади. Якщо жодне рішення не було опубліковано, випадаючий список виглядає порожнім з чітким повідомленням. Користувачі Адміністратор і Супер‑адміністратор зберігають повний доступ до всіх рішень. Це обмеження також застосовується на сервері, щоб запобігти доступу через прямі URL або виклики API.

Покращений звіт розкладу іспитів

Загальний звіт розкладу іспитів тепер включає чотири покращення. Іспити в межах кожного кампусу та слота сортуються за тривалістю у зростаючому порядку для зручнішого перегляду. Заголовки слотів відображають повний часовий діапазон замість тільки часу початку. Кожен рядок іспиту показує тривалість у хвилинах та обчислений індивідуальний час початку й закінчення іспиту. Онлайн‑іспити тепер включені у звіт зі значенням аудиторії Онлайн‑іспит, що полегшує їх відокремлення від іспитів у приміщеннях.

Інтеграція Constructor University API: розділення багатомодульних іспитів і зарахування перескладувачів

Інтеграція Constructor University API тепер підтримує два важливі покращення. По‑перше, курси з кількома письмовими модулями іспитів імпортуються як окремі записи планування іспитів, причому кожен запис зберігає власний список зарахованих здобувачів. Це вирішує проблему пропущених іспитів для курсів, таких як CH‑212, де Модуль A і Модуль B потребують незалежного планування. По‑друге, синхронізація зарахування тепер захоплює перескладувачів зі попередніх семестрів, починаючи з осені 2023 року, що відновлює приблизно 600 раніше відсутніх студентів. Статус зарахування здобувачів перевіряється з використанням сутності StudiesSemesterCounter для ідентифікації активних перескладувачів проти відрахованих.

Мікрофронтенд навігації на Vue.js для Constructor Cloud

Фрагмент Schedule Cloud тепер містить спеціальний мікрофронтенд навігації на Vue.js, який відповідає за UI‑навігацію для платформи Constructor Cloud. Компонент відповідає специфікаціям дизайну у Figma і забезпечує ієрархію навігації для Періодів курсів, Періодів іспитів, Планування та Налаштувань. Він зчитує контекст терміну з LocalStorage, адаптується до різних середовищ розгортання та підтримує глибоке зв'язування з навігацією браузерної історії.

Двигун узгодженості даних CUB API

Для інтеграції CUB API додано новий механізм узгодженості організаційних даних та автоматичного резервного підстановлення. Двигун автоматично виявляє й усуває невідповідності даних під час синхронізації, включаючи логіку навігації для відображення типів іспитів та картування тривалостей. Це допомагає забезпечити більш надійну передачу даних між CampusNet і Constructor Schedule.

Виправлені помилки

Ми виправили такі проблеми:

  • Турецька мова звітів: завантажені звіти "Отримання даних" і "Збереження даних" більше не відображаються англійською, коли веб‑мова встановлена на турецьку.
  • Кнопки синхронізації та повідомлень у хмарі: кнопки повідомлень і синхронізації тепер видимі в оновленому дизайні хмари.
  • Вибраний термін після оновлення сторінки: вибраний термін тепер відображається правильно після оновлення сторінки.
  • Поле вибору терміну — введення: поле вибору терміну більше не допускає вільний текст і тепер підтримує лише вибір зі списку.
  • Навігація до періодів у панелі періодів: навігація до періодів з панелі періодів тепер працює правильно.
  • Відсутні періоди Курсу та Події: періоди Курсу та Події тепер відображаються правильно на сторінці терміну.
  • Посилання на довідку та звіти: кнопки Посібник довідки і Повідомити про проблему тепер відкривають correct сторінки.
  • Валідація області копіювання: валідація порожнього простору в області копіювання тепер працює правильно.
  • Стилізація іконки аудиторії: іконка аудиторії тепер відповідає специфікації дизайну у Figma.
  • Білий екран у поданні курсу: подання терміну курсу більше не показує білий екран при відкритті курсів.
  • Відображення дати синхронізації: дата синхронізації тепер відображається в зоні синхронізації.
  • Сортування року на екрані синхронізації: поле Рік тепер сортується правильно.
  • Відсутні години занять у зоні рішення: години занять тепер відображаються правильно в зоні рішення.
  • Помилки в зоні синхронізації: виправлено помилки у зоні синхронізації в оновленому дизайні.
  • Фільтри керування користувачами: фільтри на сторінці Керування користувачами тепер правильно очищуються.
  • Кнопка збереження при створенні терміну: кнопка Зберегти тепер відображається правильно в модальному вікні створення терміну.
  • Негативні значення у масовому оновленні: сторінка Викладачі більше не приймає негативні значення в полях масового оновлення.
  • Макет сторінки планування: області сторінки планування тепер відповідають оновленому дизайну.
  • Непотрібна прокрутка: усунено непотрібну прокрутку на уражених сторінках.
  • Перемикання на щойно доданий термін: користувачі тепер можуть перемикатися на щойно доданий термін.
  • Кнопка завантаження у розділі імпорту: кнопка завантаження в розділі Імпорт тепер працює правильно.
  • Оновлення кампусів у секції рішення: оновлення кампусів тепер відображаються правильно в секції рішення.
  • Події в Календарі подій: події тепер правильно відображаються в Календарі подій.
  • Оновлення іконки сповіщень: іконка сповіщень тепер оновлюється при надходженні нових сповіщень.
  • Переклади на сторінці рішення: виправлено проблеми з перекладами на сторінці рішення.
  • Фаза розподілу під час оптимізації: фаза розподілу тепер коректно просувається під час оптимізації.
  • Фільтр викладача в плануванні: фільтри викладачів на сторінці планування тепер працюють правильно.
  • Дані фільтра періоду іспитів: фільтри періоду іспитів тепер завантажують дані правильно.
  • Іконка додавання в Розкладі іспитів: іконка "+" у Розкладі іспитів тепер коректно реагує.
  • Створення тижневого розкладу: виправлено помилки під час створення тижневого розкладу.
  • Відображення комбінованої тривалості іспиту: тривалість іспиту тепер відображається правильно, коли іспити комбінуються.
  • Відображення кампусу при комбінованих іспитах: інформація про кампус тепер з’являється правильно, коли іспити комбінуються.
  • Лічильник розподілу поза GMT+3: лічильник розподілу тепер працює правильно в часових зонах за межами GMT+3.
  • Значення кампусу та програми при комбінуванні курсів: значення кампусу та програми тепер відображаються правильно при комбінуванні курсів.
  • Очищення поля будівлі: поле вводу будівлі тепер очищується правильно.
  • Спливаючі повідомлення: спливаючі діалоги тепер показують правильні повідомлення.
  • Випадаючий список заздалегідь визначених тривалостей: випадаючий список тривалостей іспитів тепер відображається правильно при виборі заздалегідь визначених тривалостей.
  • Додати запізнілий урок у рішенні іспиту: виправлено помилки при додаванні запізнілого уроку до рішення іспиту.
  • Додавання курсів під час періоду іспитів: курси тепер можна додавати до рішення іспитів під час періоду іспитів.
  • Видалення заздалегідь визначених тривалостей, що використовуються: система більше не дозволяє видаляти значення заздалегідь визначених тривалостей, які наразі використовуються.
  • Попереджувальне повідомлення про заздалегідь визначену тривалість: повідомлення про помилку тепер відображається правильно, коли користувач намагається видалити заздалегідь визначену тривалість, що використовується.
  • Відображення тривалості іспиту під час терміну курсу: тривалість іспиту тепер відображається правильно під час терміну курсу.