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)
|
||||
- [Oliver Bertuch](https://github.com/poikilotherm)
|
||||
- [Olivier Maridat](https://github.com/oliviermaridat)
|
||||
- [Oren Ben-Kiki](https://github.com/orenbenkiki)
|
||||
- [Peller Zoltan](https://github.com/PierP)
|
||||
- [Petja Touru](https://github.com/Petja)
|
||||
- [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 colors' => '',
|
||||
// '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 colors' => 'Alle Farben',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// '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 colors' => 'Toutes les couleurs',
|
||||
'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 colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// 'All status' => '',
|
||||
// 'Add a comment logging moving the task between columns' => '',
|
||||
// 'Moved to column %s' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -697,4 +697,6 @@ return array(
|
|||
// 'All swimlanes' => '',
|
||||
// 'All colors' => '',
|
||||
// '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'),
|
||||
'CommentCreation' => t('Create a comment 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'),
|
||||
'TaskAssignCategoryLabel' => t('Change the category based on an external label'),
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in New Issue