Поток
Учебный поток. Объединяет группы и дает какое-либо описание. Потоки можно расформировывать и добавлять их в архив
В каждом семестре после синхронизации нам от ЦИУ приходит рабочие планы(РП). В них содержатся наборы дисциплин с группами и преподами, которые их ведут
Мы будем сохранять и выводить рабочий план в отдельной модалке. При этом дисциплины будут разбиваться по группам
Например: По рабочему плану получили дисциплину Химия, в которой содержатся три группы ГР1, ГР2, ГР3. Нам необходимо растащить все группы по дисциплине, чтобы получился следующий вариант: Химия(ГР1), Химия(ГР2), Химия(ГР3).
Группы можно добвлять/удалять из потока
Все сущности на странице "Дисциплины" по умолчанию являются потоками
Потоки формируются следующим образом:
-
на старте, когда к дисциплинам нет прикрепленных курсов, никаких проблем по сбору потоков нет.
-
хотим слить группы дисц.1 и группы дисц.2. К дисц.1 уже прикреплен курс и ведется обучение, к дисц.2 нет. В таком случае в созданный поток пойдет курс из дисц. 1, а для групп дисц.2 будет пустой журнал
-
Хотим слить группы из двух дисциплин по которым идет обучение, нужно предлагать преподу выбор между двумя курсами, которые итак были прикреплены, либо дать возможность выбрать из списка всех курсов.
Поток можно редактировать следующим образом: вытаскивать группу(ы) или добавлять группу(ы)
-
Если хотим вытащить, никаких проблем, возвращаемся к той дисциплине, которая была раньше, копируя журнал, курс и КМ от потока, из которого данная группа была вынута
-
Если хотим группу добавить в данный поток, то тут два случая: 1 - группа была в дисциплине по которой еще не началось прохождение или в принципе нету прикрепленного курса. Проблем нет, просто крепим и не паримся. 2 - у группы уже было прохождение, тогда это тоже самое, как слияние двух дисциплин в поток, с разными курсами. То есть даем выбор нового курса либо выбираем какой-то из тех, который велся ранее.
Потоки расформировываются всегда одинаково, возврат к исходной картине дисциплин по группам, с копированием журнала, КМ и курса в каждую из таких дисциплин.
Про назначение и права лектора\ассистента можно почитать здесь
Атрибуты
- id - int - уникальный ID
- title - text - название
- description - text - описание
- semester - smallint - семестр потока
- teacher_id - int - связь с преподавателем
- hand_create - bool - флаг, который отличает дисциплины от потока
- relarted_id - bigint - поле предназначено для записи в него родительского потока, чтобы связать поток лектора и ассистента