Разработка:storages/statushistory — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(Новая: {{Infobox_Plugin | name = statushistory | type = storages }})
 
 
(не показано 8 промежуточных версий 3 участников)
Строка 3: Строка 3:
 
| type = storages
 
| type = storages
 
}}
 
}}
 +
 +
===Таблица в базе данных===
 +
''statushistory''
 +
 +
====Подробный формат полей в таблице:====
 +
* status - текущий статус
 +
* prevstatus - предыдущий статус
 +
* plugintype - тип плигина
 +
* plugincode - код плагина
 +
* muserid - id пользователя в Moodle, выполнившего изменения
 +
* objectid - id объекта, в котором изменился статус
 +
* statusdate - дата смены статуса
 +
* notes - заметки
 +
* opt - дополнительные параметры
 +
* orderid - id приказа в таблице [[Разработка:storages/orders | orders ]], на основании которого был изменен статус (если статус изменен на основании приказа)
 +
 +
===Дополнительные методы:===
 +
 +
===='''change_status($plugin,$objectid,$status,$prevstatus=null,$opt=null,$notice=" ",$muserid=null,$quiet=false)'''====
 +
 +
Записывает в базу данных информацию об изменении статуса.
 +
 +
''Аргументы:''
 +
* $plugin(mixed) - имя справочника(string) или объект плагина(object), которому принадлежит изменившийся объект
 +
* $objectid(int) - id изменившегося объекта
 +
* $status(string) - новый статус
 +
* $prevstatus(string) - старое значение статуса, по умолчанию - нет (null)
 +
* $opt(mixed) - дополнительные параметры при изменении статуса, по умолчанию - нет (null)
 +
* $notice(string) - заметка об изменении статуса, по умолчанию - нет.
 +
* $muserid(int) - id пользователя moodle, от имени которого изменяется статус, по умолчанию - нет (null)
 +
* $quiet(bool) - "тихий" режим (без отправки событий), по умолчанию - генерируется (false)
 +
''Возвращаемые значения:''
 +
* (int) id вставленной записи.
 +
* (bool) false если операция не удалась.
 +
''Структура работы:''
 +
# Создаем объект для вставки в БД:
 +
#* имя и тип плагина заносим в соответствии с полученным $plugin.
 +
#* если не указан пользователь, выполневший изменения, заносим текущего пользователя.
 +
#* заносим остальные значения в соответствии с полями.
 +
# записываем объект в таблицу БД и возвращаем результат.
 +
 +
===События===
 +
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
 +
====Перехватываемые события====
 +
{| border="1"
 +
|+ Таблица событий, которые перехватывает этот плагин
 +
! Тип плагина
 +
! Код плагина
 +
! Код события
 +
! Доп. данные
 +
! Пояснение
 +
|-
 +
|colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''
 +
|}
 +
====Генерируемые события====
 +
{| border="1"
 +
|+ Таблица событий, которые генерирует этот плагин
 +
! Тип плагина
 +
! Код плагина
 +
! Код события
 +
! Доп. данные
 +
! Пояснение
 +
|-
 +
|storage
 +
|statushistory
 +
|insert
 +
|Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
 +
''Пример:'' array('new' => $dataobject)
 +
|Генерируется каждый раз при вставке новой записи в таблицу statushistory.
 +
|-
 +
|storage
 +
|statushistory
 +
|update
 +
|Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
 +
''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new)
 +
|Генерируется каждый раз при обновлении записи в таблице statushistory.
 +
|-
 +
|storage
 +
|statushistory
 +
|delete
 +
|Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
 +
''Пример:'' array('old' => $dataobject)
 +
|Генерируется каждый раз при удалении записи из таблицы statushistory.
 +
|}

Текущая версия на 13:18, 30 июня 2014

Плагин
Название statushistory
Тип storages


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

statushistory

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

  • status - текущий статус
  • prevstatus - предыдущий статус
  • plugintype - тип плигина
  • plugincode - код плагина
  • muserid - id пользователя в Moodle, выполнившего изменения
  • objectid - id объекта, в котором изменился статус
  • statusdate - дата смены статуса
  • notes - заметки
  • opt - дополнительные параметры
  • orderid - id приказа в таблице orders , на основании которого был изменен статус (если статус изменен на основании приказа)

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

change_status($plugin,$objectid,$status,$prevstatus=null,$opt=null,$notice=" ",$muserid=null,$quiet=false)

Записывает в базу данных информацию об изменении статуса.

Аргументы:

  • $plugin(mixed) - имя справочника(string) или объект плагина(object), которому принадлежит изменившийся объект
  • $objectid(int) - id изменившегося объекта
  • $status(string) - новый статус
  • $prevstatus(string) - старое значение статуса, по умолчанию - нет (null)
  • $opt(mixed) - дополнительные параметры при изменении статуса, по умолчанию - нет (null)
  • $notice(string) - заметка об изменении статуса, по умолчанию - нет.
  • $muserid(int) - id пользователя moodle, от имени которого изменяется статус, по умолчанию - нет (null)
  • $quiet(bool) - "тихий" режим (без отправки событий), по умолчанию - генерируется (false)

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

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

Структура работы:

  1. Создаем объект для вставки в БД:
    • имя и тип плагина заносим в соответствии с полученным $plugin.
    • если не указан пользователь, выполневший изменения, заносим текущего пользователя.
    • заносим остальные значения в соответствии с полями.
  2. записываем объект в таблицу БД и возвращаем результат.

События

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

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

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

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

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

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

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

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

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

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

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