diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 4d09cec..55b0f1f 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -318,7 +318,7 @@ final class ApiController extends Controller $old = TaskMapper::get()->where('id', (int) $request->getData('id'))->execute(); /** @var Task $new */ - $new = $this->updateTaskFromRequest($request); + $new = $this->updateTaskFromRequest($request, clone $old); $this->updateModel($request->header->account, $old, $new, TaskMapper::class, 'task', $request->getOrigin()); if (!empty($new->trigger)) { @@ -337,10 +337,8 @@ final class ApiController extends Controller * * @since 1.0.0 */ - private function updateTaskFromRequest(RequestAbstract $request) : Task + private function updateTaskFromRequest(RequestAbstract $request, Task $task) : Task { - /** @var Task $task */ - $task = TaskMapper::get()->where('id', (int) ($request->getData('id')))->execute(); $task->title = (string) ($request->getData('title') ?? $task->title); $task->description = Markdown::parse((string) ($request->getData('plain') ?? $task->descriptionRaw)); $task->descriptionRaw = (string) ($request->getData('plain') ?? $task->descriptionRaw); @@ -602,7 +600,7 @@ final class ApiController extends Controller $old = TaskElementMapper::get()->where('id', (int) $request->getData('id'))->execute(); /** @var TaskElement $new */ - $new = $this->updateTaskElementFromRequest($request); + $new = $this->updateTaskElementFromRequest($request, clone $old); $this->updateModel($request->header->account, $old, $new, TaskElementMapper::class, 'taskelement', $request->getOrigin()); if ($old->getStatus() !== $new->getStatus() @@ -635,10 +633,8 @@ final class ApiController extends Controller * * @since 1.0.0 */ - private function updateTaskElementFromRequest(RequestAbstract $request) : TaskElement + private function updateTaskElementFromRequest(RequestAbstract $request, TaskElement $element) : TaskElement { - /** @var TaskElement $element */ - $element = TaskElementMapper::get()->where('id', (int) ($request->getData('id')))->execute(); $element->due = $request->getData('due') !== null ? new \DateTime((string) ($request->getData('due'))) : $element->due; $element->setStatus((int) ($request->getData('status') ?? $element->getStatus())); $element->description = Markdown::parse((string) ($request->getData('plain') ?? $element->descriptionRaw)); diff --git a/Controller/BackendController.php b/Controller/BackendController.php index ccd42af..634aa03 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -63,7 +63,7 @@ final class BackendController extends Controller implements DashboardElementInte /** @var \phpOMS\Model\Html\Head $head */ $head = $response->get('Content')->getData('head'); - $head->addAsset(AssetType::CSS, 'Modules/Tasks/Theme/Backend/css/styles.css'); + $head->addAsset(AssetType::CSS, 'Modules/Tasks/Theme/Backend/css/styles.css?v=1.0.0'); $view->setTemplate('/Modules/Tasks/Theme/Backend/task-dashboard'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response)); @@ -126,6 +126,10 @@ final class BackendController extends Controller implements DashboardElementInte */ public function viewDashboard(RequestAbstract $request, ResponseAbstract $response, mixed $data = null) : RenderableInterface { + /** @var \phpOMS\Model\Html\Head $head */ + $head = $response->get('Content')->getData('head'); + $head->addAsset(AssetType::CSS, 'Modules/Tasks/Theme/Backend/css/styles.css?v=1.0.0'); + $view = new View($this->app->l11nManager, $request, $response); $view->setTemplate('/Modules/Tasks/Theme/Backend/dashboard-task'); $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response)); @@ -179,7 +183,7 @@ final class BackendController extends Controller implements DashboardElementInte /** @var \phpOMS\Model\Html\Head $head */ $head = $response->get('Content')->getData('head'); - $head->addAsset(AssetType::CSS, 'Modules/Tasks/Theme/Backend/css/styles.css'); + $head->addAsset(AssetType::CSS, 'Modules/Tasks/Theme/Backend/css/styles.css?v=1.0.0'); /** @var \Modules\Tasks\Models\Task $task */ $task = TaskMapper::get() diff --git a/Theme/Backend/dashboard-task.tpl.php b/Theme/Backend/dashboard-task.tpl.php index e653c98..fb543e5 100755 --- a/Theme/Backend/dashboard-task.tpl.php +++ b/Theme/Backend/dashboard-task.tpl.php @@ -13,7 +13,6 @@ declare(strict_types=1); use Modules\Tasks\Models\TaskPriority; -use Modules\Tasks\Models\TaskStatus; use phpOMS\Uri\UriFactory; $tasksList = $this->getData('tasks') ?? []; @@ -33,16 +32,13 @@ $tasksList = $this->getData('tasks') ?? []; $task) : ++$c; - $url = UriFactory::build(!empty($task->redirect) ? $task->redirect : ('{/prefix}task/single?{?}&id=' . $task->getId())); - - $color = 'darkred'; - if ($task->getStatus() === TaskStatus::DONE) { $color = 'green'; } - elseif ($task->getStatus() === TaskStatus::OPEN) { $color = 'darkblue'; } - elseif ($task->getStatus() === TaskStatus::WORKING) { $color = 'purple'; } - elseif ($task->getStatus() === TaskStatus::CANCELED) { $color = 'red'; } - elseif ($task->getStatus() === TaskStatus::SUSPENDED) { $color = 'yellow'; } ?> + $url = UriFactory::build(!empty($task->redirect) + ? $task->redirect + : ('{/prefix}task/single?{?}&id=' . $task->getId()) + ); + ?> - getHtml('S' . $task->getStatus(), 'Tasks'); ?> + getHtml('S' . $task->getStatus(), 'Tasks'); ?> getPriority() === TaskPriority::NONE) : ?> printHtml($task->due->format('Y-m-d H:i')); ?> diff --git a/Theme/Backend/task-single.tpl.php b/Theme/Backend/task-single.tpl.php index 233476e..87998ff 100755 --- a/Theme/Backend/task-single.tpl.php +++ b/Theme/Backend/task-single.tpl.php @@ -170,7 +170,7 @@ echo $this->getData('nav')->render(); ?> $element) : ++$c; ?> - getStatus() !== TaskStatus::OPEN) + getStatus() !== $previous->getStatus()) ) : ?>
@@ -190,7 +190,7 @@ echo $this->getData('nav')->render(); ?>
- getPriority() !== $task->getPriority()) + getPriority() !== $previous->getPriority()) ) : ?>