t('Assignee'), 'dest_swimlane_id' => t('Destination swimlane'), ); } /** * Get the required parameter for the event * * @access public * @return string[] */ public function getEventRequiredParameters() { return array( 'task_id', 'task' => array( 'project_id', 'column_id', 'owner_id', 'position', 'swimlane_id', ) ); } /** * Execute the action (move the task to another column) * * @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) { return $this->taskPositionModel->movePosition( $data['task']['project_id'], $data['task_id'], $data['task']['column_id'], $data['task']['position'], $this->getParam('dest_swimlane_id'), true ); } /** * 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['task']['swimlane_id'] != $this->getParam('dest_swimlane_id') && $data['task']['owner_id'] == $this->getParam("user_id"); } }