task_save

Срабатывает при сохранении новой или отредактированной существующей задачи.

Доступно начиная с версии 1.0.0.

Задачи

Входящие параметры (передаются по ссылке)

$params['type'] string Тип выполняемого действия из списка: 'add' (создание), 'edit' (редактирование).
$params['task'] array Массив свойств задачи со следующими ключами:
$params['task']['id'] int ID задачи.
$params['task']['name'] string Название задачи.
$params['task']['create_contact_id'] int ID сотрудника, создавшего задачу.
$params['task']['create_datetime'] datetime Дата и время создания задачи.
$params['task']['update_datetime'] datetime Дата и время самого позднего обновления задачи.
$params['task']['assigned_contact_id'] int|null ID сотрудника, которому назначено выполнение задачи.
$params['task']['project_id'] int ID проекта, к которому относится задача.
$params['task']['milestone_id'] int|null ID срока, к которому относится задача.
$params['task']['number'] int Номер задачи в рамках проекта.
$params['task']['status_id'] int ID статуса задачи.
$params['task']['priority'] int Значение приоритета.
$params['task']['assign_log_id'] int ID записи в истории действий о самом позднем назначении задачи.
$params['task']['hidden_timestamp'] int|null Timestamp даты и времени, до которого задача отмечена как скрытая.
$params['task']['due_date'] date Дата дедлайна.
$params['task']['comment_log_id'] date ID записи в истории действий о самом позднем добавлении комментария.
$params['task']['uuid'] string Глобальный идентификатор задачи.
$params['task']['public_hash'] string|null Хеш-строка для использования в URL публичной ссылки на задачу.
$params['prev_task'] array Массив свойств задачи до сохранения с ключами, описанными для массива 'task'.
… код плагина …

Результат работы плагина

Задачи

Пример кода плагина

PHP

public function taskSave($params)
{
    if ($params['type'] == 'edit' && $params['task']['name'] != $params['prev_task']['name']) {
        waLog::log(
            sprintf_wp(
                'Task “%s” (#%d) renamed to “%s”.',
                $params['prev_task']['name'],
                $params['task']['id'],
                $params['task']['name']
            ),
            sprintf('tasks/plugins/%s/task_save.log', $this->id)
        );
    }
}