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

Материал из DOF
Перейти к: навигация, поиск
 
(не показано 8 промежуточных версий 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().