Разработка:im/programmitems

Материал из DOF
Версия от 12:44, 13 апреля 2017; Ivanov (обсуждение | вклад) (Экран добавления зависимостей)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Плагин
Название programmitems
Тип im


Учебные предметы

Этот плагин предназначен для работы с учебными предметами. Работает на основе типового плагина im/ages.

Экран просмотра списка предметов

Экран представляет собой таблицу со списком учебных предметов. В таблице присутствуют поля:

  • Название
  • Название в стандарте
  • Код
  • Код в стандарте
  • Программа - к какой учебной программе принадлежит предмет
  • Подразделение - к какому подразделению принадлежит предмет
  • Статус - статус предмета. Статусы предметов описаны в плагине workflows/programmitems
  • Тип - обязательный, рекомендованный, по выбору
  • Обязательный - обязательна ли дисциплина
  • Очки - количество очков, полученное за прохождение дисциплины (в кредитной системе)
  • Количество недель
  • Длительность
  • Часов всего
  • Часов теории
  • Часов практики
  • Уровень компоненты - региональная, федеральная, и т. д.
  • Описание - краткое описание предмета
  • Заметки - заметки для персонала
  • Тип итогового контроля - поле пока что не отображается
  • Действия - просмотреть, или редактировать (если пользователь имеет права редактирования). В будущем предусмотрено удаление. Добавление зависимостей

Также можно производить поиск по параметрам: название предмета, или его код. Просмотр списка предметов происходит постранично (по умолчанию - 10 записей на странице).

Экран просмотра одного предмета

На этом экране отображается информация об одном учебном предмете.

Экран просмотра списка предметов по программе

В этом разделе отображается полный состав учебной программы. Предметы группируются по параллелям. В заголовке указаны ссылки на создание учебных потоков по параллели и периоду.

Для каждой дисциплины доступны следующие действия:

  • Просмотреть информацию
  • Редактировать
  • Посмотреть тематическое планирование
  • Посмотреть подписки
  • Добавить зависимости

Экран создания/редактирования предмета

Экран создания и редактирования учебного предмета представляет собой форму со списком полей. Назначение и описание полей совпадают с описанием полей в плагине storages/programmitems. В будущем поля будут разбиты на 2 категории: обязательные и дополнительные.

Поля "название" и "код" являются обязательными. Помимо этого, при создании или редактировании формы действуют следующие ограничения:

При создании

  • Нельзя указать номер периода, в котором идет предмет, больше, чем максимальное количество периодов в программе, в которую он добавляется.
  • Нельзя создать предмет без привязки к учебному подразделению и программе
  • Поле "код предмета" должно быть уникальным

При редактировании

  • Нельзя указать номер периода, в котором идет предмет, больше, чем максимальное количество периодов в программе, в которую он добавляется.
  • Нельзя создать предмет без привязки к учебному подразделению и программе
  • Поле "код предмета" должно быть уникальным
  • Нельзя изменить поле "подразделение"
  • Нельзя изменить поле "учебная программа"

В будущем планируется добавить для редактирования поля "курс в moodle" и "тип итогового контроля"

Экран добавления зависимостей

Позволяет добавлять дисциплины предусловия для указанной дисциплины с указанием характера зависимости (выбор из заданных).


Привязка курсов Moodle к дисциплинам

При редактировании дисциплины можно указать курс в Moodle, с которым будет связана эта дисциплина. При активации учебных процессов будет происходить подписка в курс, привязанный к дисциплине, по которой идет учебный процесс. Преподавателю дисциплины будет назначена роль Учитель, обучающимся - роль Студент. Отвязать курс от дисциплины или сменить курс можно в интерфейсе просмотра дисциплины. После отправки запроса на смену/удаление привязки будет создана задача, которая будет выполнена во время запуска скрипта выполнения отложенных задач. В этот момент произойдет отписка пользователей из старого курса и подписка в новый курс. Реализован механизм отслеживания удаления курсов в Moodle, которые были связаны с дисциплинами в деканате. Механизм отслеживания запускается по расписанию в режиме нагрузки loan=2.

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-код отображения информации об одном учебном предмете

Параметры:

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

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