add css version

This commit is contained in:
Dennis Eichhorn 2022-08-16 19:11:58 +02:00
parent 2956aab8fa
commit 34fc413b1d
4 changed files with 18 additions and 22 deletions

View File

@ -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));

View File

@ -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()

View File

@ -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') ?? [];
<?php
$c = 0;
foreach ($tasksList as $key => $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())
);
?>
<tr data-href="<?= $url; ?>">
<td><a href="<?= $url; ?>"><span class="tag <?= $this->printHtml($color); ?>"><?= $this->getHtml('S' . $task->getStatus(), 'Tasks'); ?></span></a>
<td><a href="<?= $url; ?>"><span class="tag <?= $this->printHtml('task-status-' . $task->getStatus()); ?>"><?= $this->getHtml('S' . $task->getStatus(), 'Tasks'); ?></span></a>
<td><a href="<?= $url; ?>">
<?php if ($task->getPriority() === TaskPriority::NONE) : ?>
<?= $this->printHtml($task->due->format('Y-m-d H:i')); ?>

View File

@ -170,7 +170,7 @@ echo $this->getData('nav')->render(); ?>
<?php endif; ?>
<?php $c = 0; $previous = null;
foreach ($elements as $key => $element) : ++$c; ?>
<?php if (($c === 1 && $element->getStatus() !== TaskStatus::OPEN)
<?php if ($c === 1
|| ($previous !== null && $element->getStatus() !== $previous->getStatus())
) : ?>
<section class="portlet">
@ -190,7 +190,7 @@ echo $this->getData('nav')->render(); ?>
</section>
<?php endif; ?>
<?php if (($c === 1 && $element->getPriority() !== $task->getPriority())
<?php if (($c === 1)
|| ($previous !== null && $element->getPriority() !== $previous->getPriority())
) : ?>
<section class="portlet">