| namespace Kanboard\Action; | |
| use Kanboard\Model\TaskModel; | |
| /** | |
| * Assign a task to the logged user | |
| * | |
| * @package Kanboard\Action | |
| * @author Frederic Guillot | |
| */ | |
| class TaskAssignCurrentUser extends Base | |
| { | |
| /** | |
| * Get automatic action description | |
| * | |
| * @access public | |
| * @return string | |
| */ | |
| public function getDescription() | |
| { | |
| return t('Assign the task to the person who does the action'); | |
| } | |
| /** | |
| * Get the list of compatible events | |
| * | |
| * @access public | |
| * @return array | |
| */ | |
| public function getCompatibleEvents() | |
| { | |
| return array( | |
| TaskModel::EVENT_CREATE, | |
| ); | |
| } | |
| /** | |
| * Get the required parameter for the action (defined by the user) | |
| * | |
| * @access public | |
| * @return array | |
| */ | |
| public function getActionRequiredParameters() | |
| { | |
| return array(); | |
| } | |
| /** | |
| * Get the required parameter for the event | |
| * | |
| * @access public | |
| * @return string[] | |
| */ | |
| public function getEventRequiredParameters() | |
| { | |
| return array( | |
| 'task_id', | |
| ); | |
| } | |
| /** | |
| * Execute the action | |
| * | |
| * @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; | |
| } | |
| $values = array( | |
| 'id' => $data['task_id'], | |
| 'owner_id' => $this->userSession->getId(), | |
| ); | |
| return $this->taskModificationModel->update($values); | |
| } | |
| /** | |
| * 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 true; | |
| } | |
| } | |