Refactoring of internal task events
This commit is contained in:
@@ -216,7 +216,8 @@ abstract class Base extends \Kanboard\Core\Base
|
||||
*/
|
||||
public function hasRequiredProject(array $data)
|
||||
{
|
||||
return isset($data['project_id']) && $data['project_id'] == $this->getProjectId();
|
||||
return (isset($data['project_id']) && $data['project_id'] == $this->getProjectId()) ||
|
||||
(isset($data['task']['project_id']) && $data['task']['project_id'] == $this->getProjectId());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -226,10 +227,14 @@ abstract class Base extends \Kanboard\Core\Base
|
||||
* @param array $data Event data dictionary
|
||||
* @return bool True if all keys are there
|
||||
*/
|
||||
public function hasRequiredParameters(array $data)
|
||||
public function hasRequiredParameters(array $data, array $parameters = array())
|
||||
{
|
||||
foreach ($this->getEventRequiredParameters() as $parameter) {
|
||||
if (! isset($data[$parameter])) {
|
||||
$parameters = $parameters ?: $this->getEventRequiredParameters();
|
||||
|
||||
foreach ($parameters as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
return isset($data[$key]) && $this->hasRequiredParameters($data[$key], $value);
|
||||
} else if (! isset($data[$value])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,13 @@ class CommentCreationMoveTaskColumn extends Base
|
||||
*/
|
||||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array('task_id', 'column_id');
|
||||
return array(
|
||||
'task_id',
|
||||
'task' => array(
|
||||
'column_id',
|
||||
'project_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -71,7 +77,7 @@ class CommentCreationMoveTaskColumn extends Base
|
||||
return false;
|
||||
}
|
||||
|
||||
$column = $this->columnModel->getById($data['column_id']);
|
||||
$column = $this->columnModel->getById($data['task']['column_id']);
|
||||
|
||||
return (bool) $this->commentModel->create(array(
|
||||
'comment' => t('Moved to column %s', $column['title']),
|
||||
@@ -89,6 +95,6 @@ class CommentCreationMoveTaskColumn extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,10 @@ class TaskAssignCategoryColor extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'color_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'color_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -90,6 +93,6 @@ class TaskAssignCategoryColor extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['color_id'] == $this->getParam('color_id');
|
||||
return $data['task']['color_id'] == $this->getParam('color_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,10 @@ class TaskAssignColorCategory extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'category_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'category_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -90,6 +93,6 @@ class TaskAssignColorCategory extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['category_id'] == $this->getParam('category_id');
|
||||
return $data['task']['category_id'] == $this->getParam('category_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,10 @@ class TaskAssignColorColumn extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -91,6 +94,6 @@ class TaskAssignColorColumn extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,10 @@ class TaskAssignColorPriority extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'priority',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'priority',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -90,6 +93,6 @@ class TaskAssignColorPriority extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['priority'] == $this->getParam('priority');
|
||||
return $data['task']['priority'] == $this->getParam('priority');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,10 @@ class TaskAssignColorUser extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'owner_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'owner_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -91,6 +94,6 @@ class TaskAssignColorUser extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['owner_id'] == $this->getParam('user_id');
|
||||
return $data['task']['owner_id'] == $this->getParam('user_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,10 @@ class TaskAssignCurrentUserColumn extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -93,6 +96,6 @@ class TaskAssignCurrentUserColumn extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,10 @@ class TaskAssignSpecificUser extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -91,6 +94,6 @@ class TaskAssignSpecificUser extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,13 @@ class TaskCloseColumn extends Base
|
||||
*/
|
||||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array('task_id', 'column_id');
|
||||
return array(
|
||||
'task_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -79,6 +85,6 @@ class TaskCloseColumn extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ class TaskCreation extends Base
|
||||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'project_id',
|
||||
'reference',
|
||||
'title',
|
||||
);
|
||||
|
||||
@@ -62,7 +62,10 @@ class TaskDuplicateAnotherProject extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -76,7 +79,12 @@ class TaskDuplicateAnotherProject extends Base
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$destination_column_id = $this->columnModel->getFirstColumnId($this->getParam('project_id'));
|
||||
return (bool) $this->taskProjectDuplicationModel->duplicateToProject($data['task_id'], $this->getParam('project_id'), null, $destination_column_id);
|
||||
return (bool) $this->taskProjectDuplicationModel->duplicateToProject(
|
||||
$data['task_id'],
|
||||
$this->getParam('project_id'),
|
||||
null,
|
||||
$destination_column_id
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -88,6 +96,6 @@ class TaskDuplicateAnotherProject extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id') && $data['project_id'] != $this->getParam('project_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id') && $data['task']['project_id'] != $this->getParam('project_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,10 @@ class TaskEmail extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -78,13 +81,14 @@ class TaskEmail extends Base
|
||||
$user = $this->userModel->getById($this->getParam('user_id'));
|
||||
|
||||
if (! empty($user['email'])) {
|
||||
$task = $this->taskFinderModel->getDetails($data['task_id']);
|
||||
|
||||
$this->emailClient->send(
|
||||
$user['email'],
|
||||
$user['name'] ?: $user['username'],
|
||||
$this->getParam('subject'),
|
||||
$this->template->render('notification/task_create', array('task' => $task, 'application_url' => $this->configModel->get('application_url')))
|
||||
$this->template->render('notification/task_create', array(
|
||||
'task' => $data['task'],
|
||||
'application_url' => $this->configModel->get('application_url'),
|
||||
))
|
||||
);
|
||||
|
||||
return true;
|
||||
@@ -102,6 +106,6 @@ class TaskEmail extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,8 +61,10 @@ class TaskMoveAnotherProject extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'project_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -87,6 +89,6 @@ class TaskMoveAnotherProject extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id') && $data['project_id'] != $this->getParam('project_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id') && $data['task']['project_id'] != $this->getParam('project_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,8 +61,13 @@ class TaskMoveColumnAssigned extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'owner_id'
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
'owner_id',
|
||||
'position',
|
||||
'swimlane_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -75,14 +80,12 @@ class TaskMoveColumnAssigned extends Base
|
||||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$original_task = $this->taskFinderModel->getById($data['task_id']);
|
||||
|
||||
return $this->taskPositionModel->movePosition(
|
||||
$data['project_id'],
|
||||
$data['task']['project_id'],
|
||||
$data['task_id'],
|
||||
$this->getParam('dest_column_id'),
|
||||
$original_task['position'],
|
||||
$original_task['swimlane_id'],
|
||||
$data['task']['position'],
|
||||
$data['task']['swimlane_id'],
|
||||
false
|
||||
);
|
||||
}
|
||||
@@ -96,6 +99,6 @@ class TaskMoveColumnAssigned extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('src_column_id') && $data['owner_id'] > 0;
|
||||
return $data['task']['column_id'] == $this->getParam('src_column_id') && $data['task']['owner_id'] > 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,8 +60,13 @@ class TaskMoveColumnCategoryChange extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'category_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
'category_id',
|
||||
'position',
|
||||
'swimlane_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -74,14 +79,12 @@ class TaskMoveColumnCategoryChange extends Base
|
||||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$original_task = $this->taskFinderModel->getById($data['task_id']);
|
||||
|
||||
return $this->taskPositionModel->movePosition(
|
||||
$data['project_id'],
|
||||
$data['task']['project_id'],
|
||||
$data['task_id'],
|
||||
$this->getParam('dest_column_id'),
|
||||
$original_task['position'],
|
||||
$original_task['swimlane_id'],
|
||||
$data['task']['position'],
|
||||
$data['task']['swimlane_id'],
|
||||
false
|
||||
);
|
||||
}
|
||||
@@ -95,6 +98,6 @@ class TaskMoveColumnCategoryChange extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] != $this->getParam('dest_column_id') && $data['category_id'] == $this->getParam('category_id');
|
||||
return $data['task']['column_id'] != $this->getParam('dest_column_id') && $data['task']['category_id'] == $this->getParam('category_id');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,8 +61,13 @@ class TaskMoveColumnUnAssigned extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'owner_id'
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
'owner_id',
|
||||
'position',
|
||||
'swimlane_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -75,14 +80,12 @@ class TaskMoveColumnUnAssigned extends Base
|
||||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$original_task = $this->taskFinderModel->getById($data['task_id']);
|
||||
|
||||
return $this->taskPositionModel->movePosition(
|
||||
$data['project_id'],
|
||||
$data['task']['project_id'],
|
||||
$data['task_id'],
|
||||
$this->getParam('dest_column_id'),
|
||||
$original_task['position'],
|
||||
$original_task['swimlane_id'],
|
||||
$data['task']['position'],
|
||||
$data['task']['swimlane_id'],
|
||||
false
|
||||
);
|
||||
}
|
||||
@@ -96,6 +99,6 @@ class TaskMoveColumnUnAssigned extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('src_column_id') && $data['owner_id'] == 0;
|
||||
return $data['task']['column_id'] == $this->getParam('src_column_id') && $data['task']['owner_id'] == 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,10 @@ class TaskUpdateStartDate extends Base
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -89,6 +92,6 @@ class TaskUpdateStartDate extends Base
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user