Разработка:storages/teachers

Материал из DOF
Версия от 13:18, 30 июня 2014; Konovalov (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Плагин
Название teachers
Тип storages


Таблица в базе данных

teachers - Связь должностей с преподаваемыми дисциплинами.

Подробный формат полей в таблице:

  • appointmentid - id связи должности с табельным номером в таблице appointments
  • programmitemid - id дисциплины в таблице programmitems (таблица programmitems)
  • worktime - ставка в часах/неделю,
  • departmentid - подразделение, которому принадлежит учебный процесс в таблице departments
  • status - список статусов указан в одноименном плагине рабочих процессов teachers

Дополнительные методы:

remove_programmitem_from_appointment($appointmentid, $programmitemid, $departmentid=null)

Освобождает учителя от преподавания упредмета в указанной должности

Аргументы:

  • $appointmentid(int) - id назначения на должность в таблице appointments
  • $programmitemid(int) - id предмета в таблице programmitems
  • $departmentid(int) - id подразделения в таблице departments , по умочанию null

Возвращает значение:

  • bool

remove_teacher($id)

Освободает учителя от преподаваемого предмета

Аргументы:

  • $id(int) - id записи о преподаваемом предмете в этой таблице

add_teacher($teacher)

Добавляет новую запись о преподавании учителем курса, сразу же переводя ее в статус "активна"

Аргументы:

  • $teacher(obj) - объект для вставки в таблицу teachers

Возвращает значение:

  • bool

safe_insert($dataobject, $quiet=false)

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

Аргументы:

  • $dataobject(obj) - объект для вставки в таблицу
  • $quiet(obj) - не генерировать событий, по умолчанию false

Возвращает значение:

  • int|bool (id новой записи если операция вставки прошла успешно, false усли вставка в таблицу не удалась)

safe_update($dataobject, $id, $quiet=false)

Безопасное обновление записи в таблице. Использование этой функции вместо традиционного update гарантирует, что все ваши данные будут проверены, идентификаторы на момент вставки будут точно указывать на существующие записи, а также что логика работы системы не будет нарушена

Аргументы:

  • $dataobject(obj) - объект для вставки в таблицу
  • $id(int) - id обновляемой записи
  • $quiet(obj) - не генерировать событий, по умолчанию false

Возвращает значение:

  • array|bool ($dataobject(obj) | false - если не успешно)

insert_possible($dataobject)

Определяет, возможно ли вставить запись в таблицу

Аргументы:

  • $dataobject(obj) - объект для вставки в таблицу

Возвращает значение:

  • bool (true - если вставка возможна, false - если вставка невозможна)

update_possible($dataobject, $id=null)

Определяет, возможно ли обновить запись в таблице

Аргументы:

  • $dataobject(obj) - объект для обновления таблицы
  • $id(int) - id обновляемой записи, по умолчанию null

Возвращает значение:

  • bool (true - если вставка возможна, false - если вставка невозможна)

get_available_pitems_for_appointment($appointmentid)

Получение списков возможных предметов для преподавания для переданного назначения на должность

Аргументы:

  • $appointmentid(int) - id назначения на должность в таблице appointments

Возвращает значение:

  • array|bool - массив записей из таблицы programmitems , исключая те предметы, которые уже были привязаны к этой должности в таблице teachers

get_appointment_pitems($appointmentid)

Получение списков курсов, которые учитель уже может вести в рамках указанного назначения на должность

Аргументы:

  • $appointmentid(int) - id назначения на должность в таблице appointments

Возвращает значение:

  • return array|bool - массив курсов из таблицы programmitems или false если учителю не назначено пока ни одного курса

get_pitem_teachers($pitemid, $count=false, $mask=" ")

Получение списков курсов, которые учитель уже может вести в рамках указанного назначения на должность

Аргументы:

  • $pitemid(int) - id предмета в таблице programmitems
  • $coun(bool) - получить только количество учителей, по умолчанию false
  • $mask(str) - поиск по маске (если он производится), по умолчанию пусто

Возвращает значение:

  • return array|bool массив записей из таблицы persons или false в случае ошибки

get_pitem_no_teachers($pitemid, $count=false, $mask=" ")

Получение всех учителей, которые не ведут указанный предмет

Аргументы:

  • $pitemid(int) - id предмета в таблице programmitems
  • $count(bool) - получить только количество учителей, по умолчаню false
  • $mask(str) - поиск по маске (если он производится), по умолчанию пусто

Возвращает значение:

  • return array|int|bool - список учителей, количество учителей, или false если ничего не найдено

get_persons($teachers, $enum = false)

Получение списка записей из таблицы persons , по списку из таблицы teachers

Аргументы:

  • $teachers(array) - массив записей из таблицы teachers
  • $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false

Возвращает значение:

  • return array|bool - массив записей из таблицы persons или false если ничего не нашлось

get_persons_with_appid($teachers, $enum = false)

Получение списка записей из таблицы persons , по списку из таблицы teachers . в качестве ключей массива используются id записей из таблицы appointments к каждой записи добавляется поле appointmentid и, если указать, enumber - табельный номер

Аргументы:

  • $teachers(array) - массив записей из таблицы teachers
  • $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false

Возвращает значение:

  • return array|bool - массив записей из таблицы persons или false если ничего не нашлось

get_person_by_teacher($teacher, $enum = false)

Получение объекта из таблицы persons по id в таблице teachers

Аргументы:

  • $teachers(array) - массив записей из таблицы teachers
  • $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false

Возвращает значение:

  • return array|bool - массив записей из таблицы persons или false если ничего не нашлось

get_teachers_for_pitem($pitemid)

Получение списка учителей, преподающих указанный предмет

Аргументы:

Возвращает значение:

  • return array|bool массив записей из таблицы teachers или false если ничего не нашлось

get_teachers_no_pitem($pitemid, $withworktime = true)

Получение списка учителей, могущих преподавать указанный предмет

Аргументы:

  • $pitemid(int) - id предмета из таблицы programmitems
  • $withworktime(bool) - вернуть всех кто не преподает этот предмет (false) или исключить преподавателей, у которых нет часов для этого (true), по умолчанию - true

Возвращает значение:

  • return array|bool массив записей из таблицы appointments или false если ничего не нашлось

События

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

Перехватываемые события

Таблица событий, которые перехватывает этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
Этот плагин не перехватывает никаких событий

Генерируемые события

Таблица событий, которые генерирует этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
storage teachers insert Массив, содержащий в поле "new" объект с данными для вставки в таблицу.

Пример: array('new' => $dataobject)

Генерируется каждый раз при вставке новой записи в таблицу.
storage teachers update Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.

Пример: array('old' => $dataobject_old, 'new' => $dataobject_new)

Генерируется каждый раз при обновлении записи в таблице.
storage teachers delete Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы

Пример: array('old' => $dataobject)

Генерируется каждый раз при удалении записи из таблицы.