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

Материал из DOF
Версия от 19:43, 2 октября 2009; Ilya (обсуждение | вклад) (Добавлен раздел API)
Перейти к: навигация, поиск
Плагин
Название 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-код отображения информации об одном учебном предмете

Параметры:

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

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