Add new automatic action (Task comment logging), patch #539
This commit is contained in:
parent
0d80102c48
commit
e6f7929f77
|
|
@ -183,6 +183,7 @@ Contributors:
|
||||||
- [Null-Kelvin](https://github.com/Null-Kelvin)
|
- [Null-Kelvin](https://github.com/Null-Kelvin)
|
||||||
- [Oliver Bertuch](https://github.com/poikilotherm)
|
- [Oliver Bertuch](https://github.com/poikilotherm)
|
||||||
- [Olivier Maridat](https://github.com/oliviermaridat)
|
- [Olivier Maridat](https://github.com/oliviermaridat)
|
||||||
|
- [Oren Ben-Kiki](https://github.com/orenbenkiki)
|
||||||
- [Peller Zoltan](https://github.com/PierP)
|
- [Peller Zoltan](https://github.com/PierP)
|
||||||
- [Petja Touru](https://github.com/Petja)
|
- [Petja Touru](https://github.com/Petja)
|
||||||
- [Rafaelrossa](https://github.com/rafaelrossa)
|
- [Rafaelrossa](https://github.com/rafaelrossa)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,84 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Action;
|
||||||
|
|
||||||
|
use Model\GithubWebhook;
|
||||||
|
use Model\Task;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a log of the triggering event to the task description.
|
||||||
|
*
|
||||||
|
* @package action
|
||||||
|
* @author Oren Ben-Kiki
|
||||||
|
*/
|
||||||
|
class TaskLogMoveAnotherColumn extends Base
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get the list of compatible events
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getCompatibleEvents()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
Task::EVENT_MOVE_COLUMN,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the required parameter for the action (defined by the user)
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function getActionRequiredParameters()
|
||||||
|
{
|
||||||
|
return array('column_id' => t('Column'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the required parameter for the event
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @return string[]
|
||||||
|
*/
|
||||||
|
public function getEventRequiredParameters()
|
||||||
|
{
|
||||||
|
return array('task_id', 'column_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the action (append to the task description).
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param array $data Event data dictionary
|
||||||
|
* @return bool True if the action was executed or false when not executed
|
||||||
|
*/
|
||||||
|
public function doAction(array $data)
|
||||||
|
{
|
||||||
|
if (! $this->userSession->isLogged()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$column = $this->board->getColumn($data['column_id']);
|
||||||
|
|
||||||
|
return (bool) $this->comment->create(array(
|
||||||
|
'comment' => t('Moved to column %s', $column['title']),
|
||||||
|
'task_id' => $data['task_id'],
|
||||||
|
'user_id' => $this->userSession->getId(),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the event data meet the action condition
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param array $data Event data dictionary
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function hasRequiredCondition(array $data)
|
||||||
|
{
|
||||||
|
return $data['column_id'] == $this->getParam('column_id');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
'All swimlanes' => 'Alle Swimlanes',
|
'All swimlanes' => 'Alle Swimlanes',
|
||||||
'All colors' => 'Alle Farben',
|
'All colors' => 'Alle Farben',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -698,4 +698,6 @@ return array(
|
||||||
'All swimlanes' => 'Toutes les swimlanes',
|
'All swimlanes' => 'Toutes les swimlanes',
|
||||||
'All colors' => 'Toutes les couleurs',
|
'All colors' => 'Toutes les couleurs',
|
||||||
'All status' => 'Tous les états',
|
'All status' => 'Tous les états',
|
||||||
|
'Add a comment logging moving the task between columns' => 'Ajouter un commentaire de log lorsqu\'une tâche est déplacée dans une autre colonne',
|
||||||
|
'Moved to column %s' => 'Tâche déplacée à la colonne %s',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -697,4 +697,6 @@ return array(
|
||||||
// 'All swimlanes' => '',
|
// 'All swimlanes' => '',
|
||||||
// 'All colors' => '',
|
// 'All colors' => '',
|
||||||
// 'All status' => '',
|
// 'All status' => '',
|
||||||
|
// 'Add a comment logging moving the task between columns' => '',
|
||||||
|
// 'Moved to column %s' => '',
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ class Action extends Base
|
||||||
'TaskAssignCategoryColor' => t('Assign automatically a category based on a color'),
|
'TaskAssignCategoryColor' => t('Assign automatically a category based on a color'),
|
||||||
'CommentCreation' => t('Create a comment from an external provider'),
|
'CommentCreation' => t('Create a comment from an external provider'),
|
||||||
'TaskCreation' => t('Create a task from an external provider'),
|
'TaskCreation' => t('Create a task from an external provider'),
|
||||||
|
'TaskLogMoveAnotherColumn' => t('Add a comment logging moving the task between columns'),
|
||||||
'TaskAssignUser' => t('Change the assignee based on an external username'),
|
'TaskAssignUser' => t('Change the assignee based on an external username'),
|
||||||
'TaskAssignCategoryLabel' => t('Change the category based on an external label'),
|
'TaskAssignCategoryLabel' => t('Change the category based on an external label'),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue