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

Материал из DOF
Версия от 16:01, 12 февраля 2010; Yumeneco (обсуждение | вклад) (API)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Плагин
Название ages
Тип im


Учебные периоды

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

Список учебных программ

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

Таблица содержит следующие поля: Название

  • Начало периода
  • Конец периода
  • Количество недель - количество учебных недель в периоде
  • Подразделение - к какому подразделению принадлежит этот период
  • Предыдущий период - какой период предшествовал этому периоду
  • Статус - список возможных статусов указан в плагине ages
  • Действия - ссылки на просмотр и редактирование данных об учебном периоде

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

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

Просмотр одного учебного периода

Эта страница предоставляет информацию об одном учебном периоде.

При просмотре периода имеется возможность изменить его статус. Форма для этого показывается только пользователям, имеющим право "setstatus". При изменении статуса выводится сообщение "статус успешно изменен", либо "не удалось изменить статус" - в случае ошибки. Если статус является конечным - форма сообщает об этом, и не дает его изменить. Подробнее о статусах периода можно посмотреть в разделе: workflows/ages .

После того как пользователь нажал на кнопку изменения статуса, формируется приказ, в котором указывается с какого статуса на какой перешли и дату смены статуса. На основании этого приказа и происходит смена статуса.

Создание и редактирование

Это действие доступно только для пользователей с правом редактирования учебного периода.

Назначение полей:

  • Название - название учебного периода
  • Начало периода - дата начала периода
  • Конец периода - дата окончания периода
  • Количество недель - количество учебных недель
  • Подразделение - подразделение, которому принадлежит период
  • Предыдущий период - какой период является предыдущим для создаваемого. Можно создать период не указывая предыдущий, но в таком случае они не будут между собой связаны.

API

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

get_listing()

Параметры:

  • $limitfrom - с какой записи начинать вывод
  • $limitnum - сколько записей выводить на одной странице
  • $conds - Обьект, содержащий данные с условиями выборки, в формате поле_БД->значение по умолчанию пустой массив

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

  • (array) массив записей из базы, или false в случае ошибки
form()

Возвращает форму создания/редактирования учебного периода с начальными данными

Параметры:

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

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

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

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

Параметры:

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

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

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

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

Параметры:

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

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

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

Подключает методы для работы с приказом

Параметры:

  • $code (string) - код типа для исполнения приказа
  • $id - id записи в таблице orders

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

  • (object) order - объект приказа

Приказы

В этом разделе описаны классы, которые используются для формирования приказов.

dof_im_ages_order_change_status

Наследуется от класса dof_storage_orders_baseorder. Класс для работы с приказом для смены статуса. Отвечает за смену статуса учебного периода.

execute_actions()

Функция отвечающая за выполнение приказа. Обращается к плагину workflows/ages, для того чтобы изменить статус.

Параметры:

  • $order - объект, содержащий информацию по приказу. Структура полей объекта совпадает со структурой полей таблицы orders. Поле sdata содержит объект следующей структуры:
    • ageid - id записи в таблице ages
    • datechange - дата смены статуса
    • oldstatus - старый статус
    • newstatus - новый статус

dof_im_ages_order_status

Класс для работы с приказами и сбора данных для приказов.

generate_order_status()

Формирует сохраняет, подписывает и исполняет приказ смены статуса периода

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

  • (bool) успех исполненной задачи.

order_change_status()

Формирует приказ для смены статуса периода

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

  • (object) - объект данных для сохранения приказа в БД.

save_order_change_status()

Сохраняет приказ

Параметры:

  • $orderobj (object) - объект данных для сохранения приказа в БД.

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

  • (int|bool) - id сохраненной записи в БД или false в случае неуспеха.

sign_and_execute_order()

Подписывает и исполняет приказ

Параметры:

  • $orderid (int) - id записи в таблице orders.

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

  • (bool) - успех исполненной задачи.

is_signed()

Проверяет подписан ли приказ. Аналогичен частному методу класса dof_storage_orders_baseorder

Параметры:

  • $orderid (int) - id записи в таблице orders.

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

  • (bool) - успех исполненной задачи.