Разработка:im/cpassed — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(Страница создание/редактирование подписки: Внесены изменения, отражающие последние правки в логике формы и обработчика формы)
м (Страница создание/редактирование подписки: уточнено описание)
Строка 47: Строка 47:
 
Выводится форма для заполнения таблицы [[Разработка:storages/cpassed | cpasseds]]:
 
Выводится форма для заполнения таблицы [[Разработка:storages/cpassed | cpasseds]]:
 
* Ученик. Меню выбора слушателя из списка. Список формируется на основе данных таблицы [[Разработка:storages/contracts | contracts]]. Отображается ФИО ученика, и номер его контракта в скобках. Если id ученика не передано, то отображается слово "выбрать". В обработчик формы передается contractid - id слушателя по таблице contracts.
 
* Ученик. Меню выбора слушателя из списка. Список формируется на основе данных таблицы [[Разработка:storages/contracts | contracts]]. Отображается ФИО ученика, и номер его контракта в скобках. Если id ученика не передано, то отображается слово "выбрать". В обработчик формы передается contractid - id слушателя по таблице contracts.
* Программа обучения. Меню выбора программы из списка. Выводится название программы обучения. Список формируется после выбора ученика. В список попадают все программы обучения ученика, на которые он подписан. В обработчик формы передается programmsbcid - id подписки контракта на программу обучения.
+
* Программа обучения. Меню выбора программы из списка. Выводится название программы обучения. Список формируется после выбора ученика. В список попадают все программы обучения ученика, на которые он подписан по выбранному контракту. В обработчик формы передается programmsbcid - id подписки контракта на программу обучения.
 
* Учебный предмет. Список предметов формируется после выбора программы обучения. Показываются все предметы, входящие в программу. Изменяется при изменении предмето-потока как описано выше. В обработчик формы передается programmitemid - id дисциплины.
 
* Учебный предмет. Список предметов формируется после выбора программы обучения. Показываются все предметы, входящие в программу. Изменяется при изменении предмето-потока как описано выше. В обработчик формы передается programmitemid - id дисциплины.
 
* Учебный поток (необязательное поле). Меню выбора из списка предмето-потоков, с одним из которых надо установить связь. В меню попадают все потоки, которые предусмотрены программой обучения и текущим периодом обучения. И то и другое берется из подписки на программу обучения. Список формируется после выбора программы обучения. В меню это поле отображается как связка ФИО преподавателя и название предмета. В обработчик формы передается cstreamid - id учебного предмето-потока.
 
* Учебный поток (необязательное поле). Меню выбора из списка предмето-потоков, с одним из которых надо установить связь. В меню попадают все потоки, которые предусмотрены программой обучения и текущим периодом обучения. И то и другое берется из подписки на программу обучения. Список формируется после выбора программы обучения. В меню это поле отображается как связка ФИО преподавателя и название предмета. В обработчик формы передается cstreamid - id учебного предмето-потока.

Версия 17:14, 6 ноября 2009

Плагин
Название cpassed
Тип im


Подписка студента на учебные курсы

Модуль обеспечивает подписку студентов на изучение дисциплины путем приписки его к определенному предмето-потоку.

Просмотр списка подписок

Страница обеспечивает просмотр списка существующих подписок в разных вариантах. Возможные параметры фильтрации:

  • просмотр всех подписок на предмето-поток;
  • просмотр всех подписок подразделения;
  • просмотр всех подписок группы/класса;
  • просмотр всех подписок студента;
  • просмотр подписок с одинаковым статусом.

Возможна произвольная комбинация указанных параметров фильтрации. Все параметры передаются по ссылке.

Если одним из параметров фильтрации является id предмето-потока, то в колонке действий, в каждой строчке появляется галочка "отписать". Под таблицей размещается кнопка "удалить подписку", нажатие на которую производит отписку студента от предмето-потока. Обработчик кнопки находится в файле обработчика формы редактирования привязки. По умолчанию галочек нет.

Если переданы одновременно параметры id предмето-потока и id класса (или академической группы), то под таблицей подписок студентов на предмето-поток появляется список студентов группы, которые не имеют привязки к указанному потоку. Напротив каждого из них размещается галочка "подписать". Под таблицей размещается кнопка "создать подписку", нажатие на которую подписывает студента на изучение соответствующей дисциплины. Обработчик нажатия находится на странице обработчика формы.

Описание полей таблицы дано в следующем разделе.

Со страницы возможен переход на создание или редактирование подписки.

Страница просмотра одной подписки

Здесь можно просмотреть подписку одного студента на один предмето-поток.

Информация выводится в виде таблицы с полями, которые заполнены значениями, взятыми из соответствующего справочника.

  • Ученик (studentid - id слушателя по таблице persons).
  • Программа обучения (programmsbcid). Вычисляется на основе programmsbcid - id подписки контракта на программу обучения.
  • Учебный поток (cstreamid). Отображается как связка ФИО преподавателя, название предмета и название учебного периода.
  • Учебный предмет (programmitemid - id дисциплины).
  • Итоговая оценка (grade).
  • Уровень оценки (gradelevel).
  • Кредиты (credit).
  • Пояснение (notice).
  • Предыдущая подписка Отображается учебный поток, по которому ранее проходило обучение(repeatid).
  • Тип синхронизации (typesync).
  • Задание в мудл - название задания в мудл или его id в мудл (mdlinstance). Отображать название, если его несложно получить.
  • Преподаватель (teacherid) - id сотрудника по справочнику persons.
  • Учебный период (ageid) - название периода в котором велось обучение.
  • Статус (status).

С этой страницы можно перейти на страницу списка групп или редактирования просматриваемой подписки.

Страница создание/редактирование подписки

Выводится форма для заполнения таблицы cpasseds:

  • Ученик. Меню выбора слушателя из списка. Список формируется на основе данных таблицы contracts. Отображается ФИО ученика, и номер его контракта в скобках. Если id ученика не передано, то отображается слово "выбрать". В обработчик формы передается contractid - id слушателя по таблице contracts.
  • Программа обучения. Меню выбора программы из списка. Выводится название программы обучения. Список формируется после выбора ученика. В список попадают все программы обучения ученика, на которые он подписан по выбранному контракту. В обработчик формы передается programmsbcid - id подписки контракта на программу обучения.
  • Учебный предмет. Список предметов формируется после выбора программы обучения. Показываются все предметы, входящие в программу. Изменяется при изменении предмето-потока как описано выше. В обработчик формы передается programmitemid - id дисциплины.
  • Учебный поток (необязательное поле). Меню выбора из списка предмето-потоков, с одним из которых надо установить связь. В меню попадают все потоки, которые предусмотрены программой обучения и текущим периодом обучения. И то и другое берется из подписки на программу обучения. Список формируется после выбора программы обучения. В меню это поле отображается как связка ФИО преподавателя и название предмета. В обработчик формы передается cstreamid - id учебного предмето-потока.
  • Период обучения. Формируется двумя разными способами:
    • Если учебный поток выбран, то период определяется единственным образом - как период, в котором обучается поток
    • Если учебный поток не выбран - то выводится список всех периодов, в течение которых проходит выбранная ранее учебная программа.


Остальные поля (подробнее см. в storage/cpassed ) заполняются автоматически при наступлении определенных событий, и в форме не отображаются. Под указанными полями отображаются две кнопки - сохранить и отмена. При нажатии на кнопку сохранить происходит сохранение внесенных изменений. Перед сохранением данные проверяются на существование всех переданных id в базе, и на совместимость переданных id друг с другом (чтобы не было возможности повредить структуру связей в БД). Если форма пуста - ни один параметр не был изменен, то выводится соответствующее сообщение. При нажатии на кнопку отмены происходит переадресация на страницу списка групп.

API

Здесь описаны функции для работы с подписками на курсы.

form()

Возвращает форму создания/редактирования подписки на курс

Параметры:

  • $id - id подписке в таблице cpassed, для редактирования которой вызывается форма. По умолчанию NULL (создается новая подписка).

Возвращаемые значения:

  • moodleQuickForm object - объект формы, с загруженными в нее исходными данными.
showlist()

Возвращает html-код отображения информации о списке подписок на курсы

Параметры:

  • $list - массив записей из таблицы cpassed для отображения.

Возвращаемые значения:

  • (string) - html-код или false в случае ошибки
show_id()

Возвращает html-код отображения информации об одной подписке на курс

Параметры:

  • $id - id записи в таблице cpassed

Возвращаемые значения:

  • (string) - html-код или false в случае ошибки