From 1c4d463540b8b0aeabf46c18062c1537587d4583 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Tue, 3 Oct 2017 20:24:45 +0200 Subject: [PATCH] fix #106 --- Controller.php | 4 +++ Theme/Backend/Components/Tasks/BaseView.php | 38 +++++++++++++++++++++ Theme/Backend/Components/Tasks/list.tpl.php | 24 +++++++++++++ Theme/Backend/dashboard-task.tpl.php | 30 +--------------- 4 files changed, 67 insertions(+), 29 deletions(-) create mode 100644 Theme/Backend/Components/Tasks/BaseView.php create mode 100644 Theme/Backend/Components/Tasks/list.tpl.php diff --git a/Controller.php b/Controller.php index 07ae8f3..770a7d1 100644 --- a/Controller.php +++ b/Controller.php @@ -141,6 +141,10 @@ class Controller extends ModuleAbstract implements WebInterface $view->setTemplate('/Modules/Tasks/Theme/Backend/dashboard-task'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response)); + $taskListView = new \Modules\Tasks\Theme\Backend\Components\Tasks\BaseView($this->app, $request, $response); + $taskListView->setTemplate('/Modules/Tasks/Theme/Backend/Components/Tasks/list'); + $view->addData('tasklist', $taskListView); + $tasks = TaskMapper::getNewest(5); $view->addData('tasks', $tasks); diff --git a/Theme/Backend/Components/Tasks/BaseView.php b/Theme/Backend/Components/Tasks/BaseView.php new file mode 100644 index 0000000..20bbf2b --- /dev/null +++ b/Theme/Backend/Components/Tasks/BaseView.php @@ -0,0 +1,38 @@ +setTemplate('/Modules/Tasks/Theme/Backend/Components/Tasks/list'); + } + + public function render(...$data) : string + { + $this->tasks = $data[0]; + return parent::render(); + } +} \ No newline at end of file diff --git a/Theme/Backend/Components/Tasks/list.tpl.php b/Theme/Backend/Components/Tasks/list.tpl.php new file mode 100644 index 0000000..ec788e4 --- /dev/null +++ b/Theme/Backend/Components/Tasks/list.tpl.php @@ -0,0 +1,24 @@ + + + + + + tasks as $key => $task) : $c++; + $url = \phpOMS\Uri\UriFactory::build('{/base}/{/lang}/backend/task/single?{?}&id=' . $task->getId()); + $color = 'darkred'; + if($task->getStatus() === \Modules\Tasks\Models\TaskStatus::DONE) { $color = 'green'; } + elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::OPEN) { $color = 'darkblue'; } + elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::WORKING) { $color = 'purple'; } + elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::CANCELED) { $color = 'red'; } + elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::SUSPENDED) { $color = 'yellow'; } ;?> + +
getHtml('Tasks', 'Tasks') ?>
getHtml('Status', 'Tasks') ?> + getHtml('Due', 'Tasks') ?> + getHtml('Title', 'Tasks') ?> +
getHtml('S' . $task->getStatus(), 'Tasks') ?> + printHtml($task->getDue()->format('Y-m-d H:i')); ?> + printHtml($task->getTitle()); ?> + +
getHtml('Empty', 0, 0); ?> + +
\ No newline at end of file diff --git a/Theme/Backend/dashboard-task.tpl.php b/Theme/Backend/dashboard-task.tpl.php index d0243fe..7cff0e4 100644 --- a/Theme/Backend/dashboard-task.tpl.php +++ b/Theme/Backend/dashboard-task.tpl.php @@ -11,37 +11,9 @@ * @version 1.0.0 * @link http://orange-management.com */ -/** - * @var \phpOMS\Views\View $this - * @var \Modules\Tasks\Models\Task[] $tasks - */ -$tasks = $this->getData('tasks'); ?>
- - - - - - $task) : $c++; - $url = \phpOMS\Uri\UriFactory::build('{/base}/{/lang}/backend/task/single?{?}&id=' . $task->getId()); - $color = 'darkred'; - if($task->getStatus() === \Modules\Tasks\Models\TaskStatus::DONE) { $color = 'green'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::OPEN) { $color = 'darkblue'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::WORKING) { $color = 'purple'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::CANCELED) { $color = 'red'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::SUSPENDED) { $color = 'yellow'; } ;?> - -
getHtml('Tasks') ?>
getHtml('Status') ?> - getHtml('Due') ?> - getHtml('Title') ?> -
getHtml('S' . $task->getStatus()) ?> - printHtml($task->getDue()->format('Y-m-d H:i')); ?> - printHtml($task->getTitle()); ?> - -
getHtml('Empty', 0, 0); ?> - -
+ getData('tasklist')->render($this->getData('tasks')); ?>
\ No newline at end of file