From e5c63f4ecc78e144659bf83947a19d996f60b490 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 6 Nov 2016 20:08:36 -0500 Subject: Load external tasks asynchronously from task view page --- app/Controller/ExternalTaskViewController.php | 30 ++++++++++++++++++++++ .../ExternalTask/ExternalTaskProviderInterface.php | 7 +++++ app/Template/task/details.php | 4 +++ 3 files changed, 41 insertions(+) create mode 100644 app/Controller/ExternalTaskViewController.php (limited to 'app') diff --git a/app/Controller/ExternalTaskViewController.php b/app/Controller/ExternalTaskViewController.php new file mode 100644 index 00000000..4ffc4763 --- /dev/null +++ b/app/Controller/ExternalTaskViewController.php @@ -0,0 +1,30 @@ +getTask(); + $taskProvider = $this->externalTaskManager->getProvider($task['external_provider']); + $externalTask = $taskProvider->retrieve($task['external_uri']); + + $this->response->html($this->template->render($taskProvider->getViewTemplate(), array( + 'task' => $task, + 'external_task' => $externalTask, + ))); + } catch (ExternalTaskException $e) { + $this->response->html('
'.$e->getMessage().'
'); + } + } +} diff --git a/app/Core/ExternalTask/ExternalTaskProviderInterface.php b/app/Core/ExternalTask/ExternalTaskProviderInterface.php index af1dffec..7706a773 100644 --- a/app/Core/ExternalTask/ExternalTaskProviderInterface.php +++ b/app/Core/ExternalTask/ExternalTaskProviderInterface.php @@ -43,6 +43,13 @@ interface ExternalTaskProviderInterface */ public function getCreationFormTemplate(); + /** + * Get task view template name + * + * @return string + */ + public function getViewTemplate(); + /** * Build external task URI based on import form values * diff --git a/app/Template/task/details.php b/app/Template/task/details.php index a39c1bab..8d22af52 100644 --- a/app/Template/task/details.php +++ b/app/Template/task/details.php @@ -160,6 +160,10 @@ + + + +
url->button('fa-play', t('Set start date'), 'TaskModificationController', 'start', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?> -- cgit v1.2.3