Разработка:workflows/plans — различия между версиями
Alex (обсуждение | вклад) |
Yumeneco (обсуждение | вклад) |
||
| (не показано 6 промежуточных версий 3 участников) | |||
| Строка 1: | Строка 1: | ||
| − | ====Возможные статусы:==== | + | {{Infobox_Plugin |
| − | * | + | | name = plans |
| − | * | + | | type = workflows |
| − | * | + | }} |
| − | * | + | ==Возможные статусы== |
| − | * | + | * Неподтверждена (draft) - тема создана, но по ней еще нельзя учится. |
| + | * Действующая (active) - по теме происходит обучение. | ||
| + | * Пройденная (checked) - тема пройдена и проверена завучем, название темы нельзя менять. | ||
| + | * Зафиксирована (fixed) - тема пройдена и по ней нельзя выставлять и менять оценки | ||
| + | * Временно исключена (excluded) - тема временно исключена из учебного процесса. | ||
| + | * Удалена (canceled) - тема удалена. | ||
| + | |||
| + | === Метастатусы === | ||
| + | * Активный: active | ||
| + | * Актуальный: draft, active, checked, fixed | ||
| + | * Реальный: draft, active, checked, fixed, excluded | ||
| + | * Мусорный: canceled | ||
| + | |||
| + | ==Маршруты статусов== | ||
| + | Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу. | ||
| + | |||
| + | ==== Неподтверждена ==== | ||
| + | Возможные переходы ИЗ этого статуса: | ||
| + | * Действующая | ||
| + | * Удалена | ||
| + | |||
| + | ==== Действующая ==== | ||
| + | Возможные переходы ИЗ этого статуса: | ||
| + | * Неподтверждена - завуч не одобрил тему | ||
| + | * Пройденная | ||
| + | * Зафиксирована | ||
| + | * Временно исключена | ||
| + | * Удалена | ||
| + | |||
| + | ==== Пройденная ==== | ||
| + | Возможные переходы ИЗ этого статуса: | ||
| + | * Зафиксирована | ||
| + | * Удалена | ||
| + | |||
| + | ==== Зафиксирована ==== | ||
| + | Возможные переходы ИЗ этого статуса: | ||
| + | * Неподтверждена - тема снова нуждается в доработке | ||
| + | * Действующая - добрый завуч (после кипы объяснительных) решает позволить учителю поменять тему и оценку | ||
| + | * Временно исключена | ||
| + | * Удалена | ||
| + | |||
| + | ==== Временно исключена ==== | ||
| + | Возможные переходы ИЗ этого статуса: | ||
| + | * Действующая | ||
| + | * Удалена | ||
| + | |||
| + | ==== Удалена ==== | ||
| + | Конечный статус | ||
| + | |||
| + | == API == | ||
| + | |||
| + | ==== get_list() ==== | ||
| + | Получить список всех возможных статусов тем | ||
| + | |||
| + | ''Аргументы:'' | ||
| + | * (нет) | ||
| + | ''Возвращаемые значения:'' | ||
| + | * Массив, со списком всех возможных статусов в формате "обозначение" => "Перевод" | ||
| + | |||
| + | ==== get_name() ==== | ||
| + | Получить название статуса по его обозначению в базе данных | ||
| + | |||
| + | ''Аргументы:'' | ||
| + | * (string) $status - обозначение статуса латинскими буквами | ||
| + | ''Возвращаемые значения:'' | ||
| + | * (string|bool) - перевод для этого статуса, либо false, если он не обнаружен в списке допустимых | ||
| + | |||
| + | ==== get_available() ==== | ||
| + | Получить список статусов, в которые может перейти указанная тема | ||
| + | |||
| + | ''Аргументы:'' | ||
| + | * $id - id темы в таблице [[Разработка:storages/plans|plans]] | ||
| + | ''Возвращаемые значения:'' | ||
| + | * (array|bool) - массив возможных состояний в формате ('обозначение' => 'первод') или false в случае когда запись не найдена. В случае, когда переход из этого статуса невозможен - возвращается пустой массив. | ||
| + | |||
| + | ==== change() ==== | ||
| + | Сменить статус темы на указанный. | ||
| + | |||
| + | ''Аргументы:'' | ||
| + | * (int) $id - id темы в таблице [[Разработка:storages/plans|plans]] | ||
| + | * (string) $status - обозначение статуса латинскими буквами | ||
| + | * (array) $opt - Массив, где содержатся дополнительные параметры для смены статуса. По умолчанию null. | ||
| + | ''Возвращаемые значения:'' | ||
| + | * (bool) true - если статус удалось изменить, или false в случае ошибки | ||
| + | |||
| + | При обращении к функции change() выполняются дополнительные действия, указанные выше, в разделе "Маршруты статусов". При каждом изменении статуса данные записываются в таблицу [[Разработка:storages/statushistory|statushistory]]. | ||
| + | ==== init() ==== | ||
| + | Запускается при вставке в таблицу [[Разработка:storages/plans|plans]] новой записи. Автоматически назначает созданной теме статус "Неподтверждена" (draft). | ||
| + | |||
| + | ''Аргументы:'' | ||
| + | * $id - id только что созданной темы в таблице [[Разработка:storages/plans|plans]] | ||
| + | ''Возвращаемые значения:'' | ||
| + | * (bool) true если статус успешно назначен или false в случае ошибки | ||
| + | |||
| + | ==Перехватываемые события== | ||
| + | |||
| + | {| border="1" | ||
| + | |+ Таблица событий, которые перхватывает этот плагин | ||
| + | ! Тип плагина | ||
| + | ! Код плагина | ||
| + | ! Код события | ||
| + | ! Пояснение | ||
| + | |- | ||
| + | |storage | ||
| + | |[[Разработка:storages/plans|plans]] | ||
| + | |insert | ||
| + | |Каждая новая созданная подписка на предмет автоматически переводится в статус "Неподтверждена" (draft), путем вызова функции [[#init()|init()]]. | ||
| + | |} | ||
Текущая версия на 12:27, 18 февраля 2014
| Плагин | |
| Название | plans |
| Тип | workflows |
Содержание
Возможные статусы
- Неподтверждена (draft) - тема создана, но по ней еще нельзя учится.
- Действующая (active) - по теме происходит обучение.
- Пройденная (checked) - тема пройдена и проверена завучем, название темы нельзя менять.
- Зафиксирована (fixed) - тема пройдена и по ней нельзя выставлять и менять оценки
- Временно исключена (excluded) - тема временно исключена из учебного процесса.
- Удалена (canceled) - тема удалена.
Метастатусы
- Активный: active
- Актуальный: draft, active, checked, fixed
- Реальный: draft, active, checked, fixed, excluded
- Мусорный: canceled
Маршруты статусов
Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу.
Неподтверждена
Возможные переходы ИЗ этого статуса:
- Действующая
- Удалена
Действующая
Возможные переходы ИЗ этого статуса:
- Неподтверждена - завуч не одобрил тему
- Пройденная
- Зафиксирована
- Временно исключена
- Удалена
Пройденная
Возможные переходы ИЗ этого статуса:
- Зафиксирована
- Удалена
Зафиксирована
Возможные переходы ИЗ этого статуса:
- Неподтверждена - тема снова нуждается в доработке
- Действующая - добрый завуч (после кипы объяснительных) решает позволить учителю поменять тему и оценку
- Временно исключена
- Удалена
Временно исключена
Возможные переходы ИЗ этого статуса:
- Действующая
- Удалена
Удалена
Конечный статус
API
get_list()
Получить список всех возможных статусов тем
Аргументы:
- (нет)
Возвращаемые значения:
- Массив, со списком всех возможных статусов в формате "обозначение" => "Перевод"
get_name()
Получить название статуса по его обозначению в базе данных
Аргументы:
- (string) $status - обозначение статуса латинскими буквами
Возвращаемые значения:
- (string|bool) - перевод для этого статуса, либо false, если он не обнаружен в списке допустимых
get_available()
Получить список статусов, в которые может перейти указанная тема
Аргументы:
- $id - id темы в таблице plans
Возвращаемые значения:
- (array|bool) - массив возможных состояний в формате ('обозначение' => 'первод') или false в случае когда запись не найдена. В случае, когда переход из этого статуса невозможен - возвращается пустой массив.
change()
Сменить статус темы на указанный.
Аргументы:
- (int) $id - id темы в таблице plans
- (string) $status - обозначение статуса латинскими буквами
- (array) $opt - Массив, где содержатся дополнительные параметры для смены статуса. По умолчанию null.
Возвращаемые значения:
- (bool) true - если статус удалось изменить, или false в случае ошибки
При обращении к функции change() выполняются дополнительные действия, указанные выше, в разделе "Маршруты статусов". При каждом изменении статуса данные записываются в таблицу statushistory.
init()
Запускается при вставке в таблицу plans новой записи. Автоматически назначает созданной теме статус "Неподтверждена" (draft).
Аргументы:
- $id - id только что созданной темы в таблице plans
Возвращаемые значения:
- (bool) true если статус успешно назначен или false в случае ошибки
Перехватываемые события
| Тип плагина | Код плагина | Код события | Пояснение |
|---|---|---|---|
| storage | plans | insert | Каждая новая созданная подписка на предмет автоматически переводится в статус "Неподтверждена" (draft), путем вызова функции init(). |