Разработка:im/programmitems
Плагин | |
Название | programmitems |
Тип | im |
Содержание
Учебные предметы
Этот плагин предназначен для работы с учебными предметами. Работает на основе типового плагина im/ages.
Экран просмотра списка предметов
Экран представляет собой таблицу со списком учебных предметов. В таблице присутствуют поля:
- Название
- Название в стандарте
- Код
- Код в стандарте
- Программа - к какой учебной программе принадлежит предмет
- Подразделение - к какому подразделению принадлежит предмет
- Статус - статус предмета. Статусы предметов описаны в плагине workflows/programmitems
- Тип - обязательный, рекомендованный, по выбору
- Обязательный - обязательна ли дисциплина
- Очки - количество очков, полученное за прохождение дисциплины (в кредитной системе)
- Количество недель
- Длительность
- Часов всего
- Часов теории
- Часов практики
- Уровень компоненты - региональная, федеральная, и т. д.
- Описание - краткое описание предмета
- Заметки - заметки для персонала
- Тип итогового контроля - поле пока что не отображается
- Действия - просмотреть, или редактировать (если пользователь имеет права редактирования). В будущем предусмотрено удаление.
Также можно производить поиск по параметрам: название предмета, или его код. Просмотр списка предметов происходит постранично (по умолчанию - 10 записей на странице).
Экран просмотра одного предмета
На этом экране отображается информация об одном учебном предмете.
Экран просмотра списка предметов по программе
В этом разделе отображается полный состав учебной программы. Предметы группируются по параллелям. В заголовке указаны ссылки на создание учебных потоков по параллели и периоду.
Для каждой дисциплины доступны следующие действия:
- Просмотреть информацию
- Редактировать
- Посмотреть тематическое планирование
- Посмотреть подписки
Экран создания/редактирования предмета
Экран создания и редактирования учебного предмета представляет собой форму со списком полей. Назначение и описание полей совпадают с описанием полей в плагине storages/programmitems. В будущем поля будут разбиты на 2 категории: обязательные и дополнительные.
Поля "название" и "код" являются обязательными. Помимо этого, при создании или редактировании формы действуют следующие ограничения:
При создании
- Нельзя указать номер периода, в котором идет предмет, больше, чем максимальное количество периодов в программе, в которую он добавляется.
- Нельзя создать предмет без привязки к учебному подразделению и программе
- Поле "код предмета" должно быть уникальным
При редактировании
- Нельзя указать номер периода, в котором идет предмет, больше, чем максимальное количество периодов в программе, в которую он добавляется.
- Нельзя создать предмет без привязки к учебному подразделению и программе
- Поле "код предмета" должно быть уникальным
- Нельзя изменить поле "подразделение"
- Нельзя изменить поле "учебная программа"
В будущем планируется добавить для редактирования поля "курс в moodle" и "тип итогового контроля"
API
Здесь описаны функции для работы со списком учебных предметов.
get_listing()
Параметры:
- $limitfrom - с какой записи начинать вывод
- $limitnum - сколько записей выводить на одной странице
- $conds - Обьект, содержащий данные с условиями выборки, в формате поле_БД->значение по умолчанию пустой массив
Возвращаемые значения:
- (array) массив записей из базы, или false в случае ошибки
form()
Возвращает форму создания/редактирования учебного предмета с начальными данными
Параметры:
- $id - id учебной программы в таблице programmitems, для редактирования которой вызывается форма. По умолчанию NULL (создается новый предмет).
Возвращаемые значения:
- moodleQuickForm object - объект формы, с загруженными в нее исходными данными.
showlist()
Возвращает html-код списка предметов.
Параметры:
- $list - массив записей из таблицы programmitems для отображения.
Возвращаемые значения:
- (string) - html-код или false в случае ошибки
show_id()
Возвращает html-код отображения информации об одном учебном предмете
Параметры:
- $id - id записи в таблице programmitems
Возвращаемые значения:
- (string) - html-код или false в случае ошибки