Разработка:storages/teachers — различия между версиями
Dido86 (обсуждение | вклад) (→Дополнительные методы:) |
Konovalov (обсуждение | вклад) |
||
(не показано 10 промежуточных версий 1 участника) | |||
Строка 24: | Строка 24: | ||
* $appointmentid(int) - id назначения на должность в таблице [[Разработка:storages/appointments | appointments ]] | * $appointmentid(int) - id назначения на должность в таблице [[Разработка:storages/appointments | appointments ]] | ||
* $programmitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]] | * $programmitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]] | ||
− | * $departmentid(int) - id подразделения в таблице [[Разработка:storages/departments | departments ]] | + | * $departmentid(int) - id подразделения в таблице [[Разработка:storages/departments | departments ]], по умочанию null |
''Возвращает значение:'' | ''Возвращает значение:'' | ||
* bool | * bool | ||
Строка 50: | Строка 50: | ||
''Аргументы:'' | ''Аргументы:'' | ||
* $dataobject(obj) - объект для вставки в таблицу | * $dataobject(obj) - объект для вставки в таблицу | ||
− | * $quiet | + | * $quiet(obj) - не генерировать событий, по умолчанию false |
''Возвращает значение:'' | ''Возвращает значение:'' | ||
* int|bool (id новой записи если операция вставки прошла успешно, false усли вставка в таблицу не удалась) | * int|bool (id новой записи если операция вставки прошла успешно, false усли вставка в таблицу не удалась) | ||
Строка 61: | Строка 61: | ||
* $dataobject(obj) - объект для вставки в таблицу | * $dataobject(obj) - объект для вставки в таблицу | ||
* $id(int) - id обновляемой записи | * $id(int) - id обновляемой записи | ||
− | * $quiet | + | * $quiet(obj) - не генерировать событий, по умолчанию false |
''Возвращает значение:'' | ''Возвращает значение:'' | ||
* array|bool ($dataobject(obj) | false - если не успешно) | * array|bool ($dataobject(obj) | false - если не успешно) | ||
Строка 80: | Строка 80: | ||
''Аргументы:'' | ''Аргументы:'' | ||
* $dataobject(obj) - объект для обновления таблицы | * $dataobject(obj) - объект для обновления таблицы | ||
− | * $id(int) - id обновляемой записи | + | * $id(int) - id обновляемой записи, по умолчанию null |
''Возвращает значение:'' | ''Возвращает значение:'' | ||
* bool (true - если вставка возможна, false - если вставка невозможна) | * bool (true - если вставка возможна, false - если вставка невозможна) | ||
Строка 86: | Строка 86: | ||
===='''get_available_pitems_for_appointment($appointmentid)'''==== | ===='''get_available_pitems_for_appointment($appointmentid)'''==== | ||
− | + | Получение списков возможных предметов для преподавания для переданного назначения на должность | |
''Аргументы:'' | ''Аргументы:'' | ||
Строка 92: | Строка 92: | ||
''Возвращает значение:'' | ''Возвращает значение:'' | ||
* array|bool - массив записей из таблицы [[Разработка:storages/programmitems | programmitems ]], исключая те предметы, которые уже были привязаны к этой должности в таблице [[Разработка:storages/teachers | teachers ]] | * array|bool - массив записей из таблицы [[Разработка:storages/programmitems | programmitems ]], исключая те предметы, которые уже были привязаны к этой должности в таблице [[Разработка:storages/teachers | teachers ]] | ||
+ | |||
+ | ===='''get_appointment_pitems($appointmentid)'''==== | ||
+ | |||
+ | Получение списков курсов, которые учитель уже может вести в рамках указанного назначения на должность | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $appointmentid(int) - id назначения на должность в таблице [[Разработка:storages/appointments | appointments ]] | ||
+ | ''Возвращает значение:'' | ||
+ | * return array|bool - массив курсов из таблицы [[Разработка:storages/programmitems | programmitems ]] или false если учителю не назначено пока ни одного курса | ||
+ | |||
+ | ===='''get_pitem_teachers($pitemid, $count=false, $mask=" ")'''==== | ||
+ | |||
+ | Получение списков курсов, которые учитель уже может вести в рамках указанного назначения на должность | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $pitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]] | ||
+ | * $coun(bool) - получить только количество учителей, по умолчанию false | ||
+ | * $mask(str) - поиск по маске (если он производится), по умолчанию пусто | ||
+ | ''Возвращает значение:'' | ||
+ | * return array|bool массив записей из таблицы [[Разработка:storages/persons | persons ]] или false в случае ошибки | ||
+ | |||
+ | ===='''get_pitem_no_teachers($pitemid, $count=false, $mask=" ")'''==== | ||
+ | |||
+ | Получение всех учителей, которые не ведут указанный предмет | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $pitemid(int) - id предмета в таблице [[Разработка:storages/programmitems | programmitems ]] | ||
+ | * $count(bool) - получить только количество учителей, по умолчаню false | ||
+ | * $mask(str) - поиск по маске (если он производится), по умолчанию пусто | ||
+ | ''Возвращает значение:'' | ||
+ | * return array|int|bool - список учителей, количество учителей, или false если ничего не найдено | ||
+ | |||
+ | ====''' get_persons($teachers, $enum = false)'''==== | ||
+ | |||
+ | Получение списка записей из таблицы [[Разработка:storages/persons | persons ]], по списку из таблицы [[Разработка:storages/teachers | teachers ]] | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $teachers(array) - массив записей из таблицы [[Разработка:storages/teachers | teachers ]] | ||
+ | * $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false | ||
+ | ''Возвращает значение:'' | ||
+ | * return array|bool - массив записей из таблицы [[Разработка:storages/persons | persons ]] или false если ничего не нашлось | ||
+ | |||
+ | ====''' get_persons_with_appid($teachers, $enum = false)'''==== | ||
+ | |||
+ | Получение списка записей из таблицы [[Разработка:storages/persons | persons ]], по списку из таблицы [[Разработка:storages/teachers | teachers ]]. в качестве ключей массива используются id записей из таблицы [[Разработка:storages/appointments | appointments ]] к каждой записи добавляется поле appointmentid и, если указать, enumber - табельный номер | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $teachers(array) - массив записей из таблицы [[Разработка:storages/teachers | teachers ]] | ||
+ | * $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false | ||
+ | ''Возвращает значение:'' | ||
+ | * return array|bool - массив записей из таблицы [[Разработка:storages/persons | persons ]] или false если ничего не нашлось | ||
+ | |||
+ | ====''' get_person_by_teacher($teacher, $enum = false)'''==== | ||
+ | |||
+ | Получение объекта из таблицы [[Разработка:storages/persons | persons ]] по id в таблице [[Разработка:storages/teachers | teachers ]] | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $teachers(array) - массив записей из таблицы [[Разработка:storages/teachers | teachers ]] | ||
+ | * $enum(bool) - добавлять табельный номер в результат или нет, по умолчанию false | ||
+ | ''Возвращает значение:'' | ||
+ | * return array|bool - массив записей из таблицы [[Разработка:storages/persons | persons ]] или false если ничего не нашлось | ||
+ | |||
+ | ====''' get_teachers_for_pitem($pitemid)'''==== | ||
+ | |||
+ | Получение списка учителей, преподающих указанный предмет | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $pitemid(int) - id предмета из таблицы [[Разработка:storages/programmitems | programmitems ]] | ||
+ | ''Возвращает значение:'' | ||
+ | * return array|bool массив записей из таблицы [[Разработка:storages/teachers | teachers ]] или false если ничего не нашлось | ||
+ | |||
+ | ====''' get_teachers_no_pitem($pitemid, $withworktime = true)'''==== | ||
+ | |||
+ | Получение списка учителей, могущих преподавать указанный предмет | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $pitemid(int) - id предмета из таблицы [[Разработка:storages/programmitems | programmitems ]] | ||
+ | * $withworktime(bool) - вернуть всех кто не преподает этот предмет (false) или исключить преподавателей, у которых нет часов для этого (true), по умолчанию - true | ||
+ | ''Возвращает значение:'' | ||
+ | * return array|bool массив записей из таблицы [[Разработка:storages/appointments | appointments ]] или false если ничего не нашлось | ||
===События=== | ===События=== | ||
Строка 136: | Строка 216: | ||
|Генерируется каждый раз при удалении записи из таблицы. | |Генерируется каждый раз при удалении записи из таблицы. | ||
|} | |} | ||
− | |||
− | |||
− |
Текущая версия на 13:18, 30 июня 2014
Плагин | |
Название | teachers |
Тип | storages |
Содержание
- 1 Таблица в базе данных
- 2 Дополнительные методы:
- 2.1 remove_programmitem_from_appointment($appointmentid, $programmitemid, $departmentid=null)
- 2.2 remove_teacher($id)
- 2.3 add_teacher($teacher)
- 2.4 safe_insert($dataobject, $quiet=false)
- 2.5 safe_update($dataobject, $id, $quiet=false)
- 2.6 insert_possible($dataobject)
- 2.7 update_possible($dataobject, $id=null)
- 2.8 get_available_pitems_for_appointment($appointmentid)
- 2.9 get_appointment_pitems($appointmentid)
- 2.10 get_pitem_teachers($pitemid, $count=false, $mask=" ")
- 2.11 get_pitem_no_teachers($pitemid, $count=false, $mask=" ")
- 2.12 get_persons($teachers, $enum = false)
- 2.13 get_persons_with_appid($teachers, $enum = false)
- 2.14 get_person_by_teacher($teacher, $enum = false)
- 2.15 get_teachers_for_pitem($pitemid)
- 2.16 get_teachers_no_pitem($pitemid, $withworktime = true)
- 3 События
Таблица в базе данных
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)
Получение списка учителей, преподающих указанный предмет
Аргументы:
- $pitemid(int) - id предмета из таблицы programmitems
Возвращает значение:
- 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) |
Генерируется каждый раз при удалении записи из таблицы. |