mirror of
https://github.com/Karaka-Management/oms-Support.git
synced 2026-01-11 17:18:40 +00:00
bug fixes and permission tests
This commit is contained in:
parent
6c2f5dbb3e
commit
d0f0e43db2
|
|
@ -124,6 +124,8 @@ final class BackendController extends Controller
|
||||||
->with('task/createdBy')
|
->with('task/createdBy')
|
||||||
->with('ticketElements')
|
->with('ticketElements')
|
||||||
->with('ticketElements/taskElement')
|
->with('ticketElements/taskElement')
|
||||||
|
->with('ticketElements/taskElement/createdBy')
|
||||||
|
->with('ticketElements/taskElement/media')
|
||||||
->with('attributes')
|
->with('attributes')
|
||||||
->with('for')
|
->with('for')
|
||||||
->with('app');
|
->with('app');
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,10 @@ echo $this->getData('nav')->render(); ?>
|
||||||
$url = UriFactory::build('{/prefix}support/ticket?{?}&id=' . $ticket->getId());
|
$url = UriFactory::build('{/prefix}support/ticket?{?}&id=' . $ticket->getId());
|
||||||
?>
|
?>
|
||||||
<tr data-href="<?= $url; ?>">
|
<tr data-href="<?= $url; ?>">
|
||||||
<td><a href="<?= $url; ?>"><span class="tag <?= $this->printHtml('task-status-' . $ticket->task->getStatus()); ?>"><?= $this->getHtml('S' . $ticket->task->getStatus(), 'Tasks'); ?></span></a>
|
<td><a href="<?= $url; ?>">
|
||||||
|
<span class="tag <?= $this->printHtml('task-status-' . $ticket->task->getStatus()); ?>">
|
||||||
|
<?= $this->getHtml('S' . $ticket->task->getStatus(), 'Tasks'); ?>
|
||||||
|
</span></a>
|
||||||
<td><a href="<?= $url; ?>"><?= $this->getHtml('P' . $ticket->task->getPriority(), 'Tasks'); ?></a>
|
<td><a href="<?= $url; ?>"><?= $this->getHtml('P' . $ticket->task->getPriority(), 'Tasks'); ?></a>
|
||||||
<td><a href="<?= $url; ?>"><?= $this->printHtml($ticket->task->title); ?></a>
|
<td><a href="<?= $url; ?>"><?= $this->printHtml($ticket->task->title); ?></a>
|
||||||
<td><a class="content" href="<?= UriFactory::build('{/prefix}profile/single?for=' . $ticket->task->createdBy->getId()); ?>"><?= $this->printHtml($ticket->task->createdBy->name1); ?> <?= $this->printHtml($ticket->task->createdBy->name2); ?></a>
|
<td><a class="content" href="<?= UriFactory::build('{/prefix}profile/single?for=' . $ticket->task->createdBy->getId()); ?>"><?= $this->printHtml($ticket->task->createdBy->name1); ?> <?= $this->printHtml($ticket->task->createdBy->name2); ?></a>
|
||||||
|
|
|
||||||
|
|
@ -174,72 +174,72 @@ echo $this->getData('nav')->render(); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php $c = 0; $previous = null;
|
<?php $c = 0; $previous = null;
|
||||||
foreach ($elements as $key => $element) : ++$c; ?>
|
foreach ($elements as $key => $element) : ++$c; ?>
|
||||||
<?php if (($c === 1 && $element->getStatus() !== TaskStatus::OPEN)
|
<?php if (($c === 1 && $element->taskElement->getStatus() !== TaskStatus::OPEN)
|
||||||
|| ($previous !== null && $element->getStatus() !== $previous->getStatus())
|
|| ($previous !== null && $element->taskElement->getStatus() !== $previous->taskElement->getStatus())
|
||||||
) : ?>
|
) : ?>
|
||||||
<section class="portlet">
|
<section class="portlet">
|
||||||
<div class="portlet-body">
|
<div class="portlet-body">
|
||||||
<?= \sprintf($this->getHtml('status_change'),
|
<?= \sprintf($this->getHtml('status_change'),
|
||||||
'<a href="' . UriFactory::build('{/prefix}profile/single?{?}&for=' . $element->createdBy->getId()) . '">' . $this->printHtml($element->createdBy->name1) . '</a>',
|
'<a href="' . UriFactory::build('{/prefix}profile/single?{?}&for=' . $element->taskElement->createdBy->getId()) . '">' . $this->printHtml($element->taskElement->createdBy->name1) . '</a>',
|
||||||
$element->createdAt->format('Y-m-d H:i')
|
$element->taskElement->createdAt->format('Y-m-d H:i')
|
||||||
); ?>
|
); ?>
|
||||||
<span class="tag task-status-<?= $element->getStatus(); ?>">
|
<span class="tag task-status-<?= $element->taskElement->getStatus(); ?>">
|
||||||
<?= $this->getHtml('S' . $element->getStatus(), 'Tasks'); ?>
|
<?= $this->getHtml('S' . $element->taskElement->getStatus(), 'Tasks'); ?>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (($c === 1 && $element->getPriority() !== $task->getPriority())
|
<?php if (($c === 1 && $element->taskElement->getPriority() !== $task->getPriority())
|
||||||
|| ($previous !== null && $element->getPriority() !== $previous->getPriority())
|
|| ($previous !== null && $element->taskElement->getPriority() !== $previous->taskElement->getPriority())
|
||||||
) : ?>
|
) : ?>
|
||||||
<section class="portlet">
|
<section class="portlet">
|
||||||
<div class="portlet-body">
|
<div class="portlet-body">
|
||||||
<?= \sprintf($this->getHtml('priority_change'),
|
<?= \sprintf($this->getHtml('priority_change'),
|
||||||
'<a href="' . UriFactory::build('{/prefix}profile/single?{?}&for=' . $element->createdBy->getId()) . '">' . $this->printHtml($element->createdBy->name1) . '</a>',
|
'<a href="' . UriFactory::build('{/prefix}profile/single?{?}&for=' . $element->taskElement->createdBy->getId()) . '">' . $this->printHtml($element->taskElement->createdBy->name1) . '</a>',
|
||||||
$element->createdAt->format('Y-m-d H:i')
|
$element->taskElement->createdAt->format('Y-m-d H:i')
|
||||||
); ?>
|
); ?>
|
||||||
<span class="tag task-priority-<?= $element->getPriority(); ?>">
|
<span class="tag task-priority-<?= $element->taskElement->getPriority(); ?>">
|
||||||
<?= $this->getHtml('P' . $element->getPriority(), 'Tasks'); ?>
|
<?= $this->getHtml('P' . $element->taskElement->getPriority(), 'Tasks'); ?>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if ($element->description !== '') : ?>
|
<?php if ($element->taskElement->description !== '') : ?>
|
||||||
<section id="taskelmenet-<?= $element->getId(); ?>" class="portlet taskElement"
|
<section id="taskelmenet-<?= $element->taskElement->getId(); ?>" class="portlet taskElement"
|
||||||
data-update-content="#elements"
|
data-update-content="#elements"
|
||||||
data-update-element=".taskElement .taskElement-content"
|
data-update-element=".taskElement .taskElement-content"
|
||||||
data-update-tpl="#taskElementContentTpl"
|
data-update-tpl="#taskElementContentTpl"
|
||||||
data-tag="form"
|
data-tag="form"
|
||||||
data-method="POST"
|
data-method="POST"
|
||||||
data-id="<?= $element->getId(); ?>"
|
data-id="<?= $element->taskElement->getId(); ?>"
|
||||||
data-uri="<?= UriFactory::build('{/api}task/element?id=' . $element->getId() .'&csrf={$CSRF}'); ?>">
|
data-uri="<?= UriFactory::build('{/api}task/element?id=' . $element->taskElement->getId() .'&csrf={$CSRF}'); ?>">
|
||||||
<div class="portlet-head">
|
<div class="portlet-head">
|
||||||
<div class="row middle-xs">
|
<div class="row middle-xs">
|
||||||
<span class="col-xs-0">
|
<span class="col-xs-0">
|
||||||
<img class="profile-image" loading="lazy" alt="<?= $this->getHtml('User', '0', '0'); ?>" src="<?= $this->getAccountImage($element->createdBy->getId()); ?>">
|
<img class="profile-image" loading="lazy" alt="<?= $this->getHtml('User', '0', '0'); ?>" src="<?= $this->getAccountImage($element->taskElement->createdBy->getId()); ?>">
|
||||||
</span>
|
</span>
|
||||||
<span class="col-xs">
|
<span class="col-xs">
|
||||||
<?= $this->printHtml($element->createdBy->name1); ?> - <?= $this->printHtml($element->createdAt->format('Y-m-d H:i')); ?>
|
<?= $this->printHtml($element->taskElement->createdBy->name1); ?> - <?= $this->printHtml($element->taskElement->createdAt->format('Y-m-d H:i')); ?>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php if ($element->description !== '') : ?>
|
<?php if ($element->taskElement->description !== '') : ?>
|
||||||
<div class="portlet-body">
|
<div class="portlet-body">
|
||||||
<article class="taskElement-content" data-tpl-text="{/base}/api/task/element?id={$id}"
|
<article class="taskElement-content" data-tpl-text="{/base}/api/task/element?id={$id}"
|
||||||
data-tpl-value="{/base}/api/task/element?id={$id}"
|
data-tpl-value="{/base}/api/task/element?id={$id}"
|
||||||
data-tpl-value-path="/0/response/descriptionRaw"
|
data-tpl-value-path="/0/response/descriptionRaw"
|
||||||
data-tpl-text-path="/0/response/description"
|
data-tpl-text-path="/0/response/description"
|
||||||
data-value=""><?= $element->description; ?></article>
|
data-value=""><?= $element->taskElement->description; ?></article>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php $elementMedia = $element->getMedia();
|
<?php $elementMedia = $element->taskElement->getMedia();
|
||||||
if (!empty($elementMedia)
|
if (!empty($elementMedia)
|
||||||
|| ($task->isEditable
|
|| ($task->isEditable
|
||||||
&& $this->request->header->account === $element->createdBy->getId())
|
&& $this->request->header->account === $element->taskElement->createdBy->getId())
|
||||||
) : ?>
|
) : ?>
|
||||||
<div class="portlet-foot row middle-xs">
|
<div class="portlet-foot row middle-xs">
|
||||||
<?php if (!empty($elementMedia)) : ?>
|
<?php if (!empty($elementMedia)) : ?>
|
||||||
|
|
@ -250,30 +250,30 @@ echo $this->getData('nav')->render(); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if ($element->getStatus() !== TaskStatus::CANCELED
|
<?php if ($element->taskElement->getStatus() !== TaskStatus::CANCELED
|
||||||
|| $element->getStatus() !== TaskStatus::DONE
|
|| $element->taskElement->getStatus() !== TaskStatus::DONE
|
||||||
|| $element->getStatus() !== TaskStatus::SUSPENDED
|
|| $element->taskElement->getStatus() !== TaskStatus::SUSPENDED
|
||||||
|| $c != $cElements
|
|| $c != $cElements
|
||||||
) : ?>
|
) : ?>
|
||||||
<div>
|
<div>
|
||||||
<?php
|
<?php
|
||||||
if ($element->getPriority() === TaskPriority::NONE
|
if ($element->taskElement->getPriority() === TaskPriority::NONE
|
||||||
&& ($previous !== null
|
&& ($previous !== null
|
||||||
&& $previous->due->format('Y/m/d H:i') !== $element->due->format('Y/m/d H:i')
|
&& $previous->due->format('Y/m/d H:i') !== $element->taskElement->due->format('Y/m/d H:i')
|
||||||
)
|
)
|
||||||
) : ?>
|
) : ?>
|
||||||
<?= $this->getHtml('Due'); ?>: <?= $this->printHtml($element->due->format('Y/m/d H:i')); ?>
|
<?= $this->getHtml('Due'); ?>: <?= $this->printHtml($element->taskElement->due->format('Y/m/d H:i')); ?>
|
||||||
<?php elseif ($previous !== null && $previous->getPriority() !== $element->getPriority()) : ?>
|
<?php elseif ($previous !== null && $previous->taskElement->getPriority() !== $element->taskElement->getPriority()) : ?>
|
||||||
<?= $this->getHtml('Priority'); ?>: <?= $this->getHtml('P' . $element->getPriority(), 'Tasks'); ?>
|
<?= $this->getHtml('Priority'); ?>: <?= $this->getHtml('P' . $element->taskElement->getPriority(), 'Tasks'); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if ($task->isEditable
|
<?php if ($task->isEditable
|
||||||
&& $this->request->header->account === $element->createdBy->getId()
|
&& $this->request->header->account === $element->taskElement->createdBy->getId()
|
||||||
) : ?>
|
) : ?>
|
||||||
<div class="col-xs end-xs plain-grid">
|
<div class="col-xs end-xs plain-grid">
|
||||||
<input type="hidden" value="<?= $element->getId(); ?>" name="id">
|
<input type="hidden" value="<?= $element->taskElement->getId(); ?>" name="id">
|
||||||
<button class="save hidden"><?= $this->getHtml('Save', '0', '0'); ?></button>
|
<button class="save hidden"><?= $this->getHtml('Save', '0', '0'); ?></button>
|
||||||
<button class="cancel hidden"><?= $this->getHtml('Cancel', '0', '0'); ?></button>
|
<button class="cancel hidden"><?= $this->getHtml('Cancel', '0', '0'); ?></button>
|
||||||
<button class="update"><?= $this->getHtml('Edit', '0', '0'); ?></button>
|
<button class="update"><?= $this->getHtml('Edit', '0', '0'); ?></button>
|
||||||
|
|
@ -285,13 +285,13 @@ echo $this->getData('nav')->render(); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$tos = $element->getTo();
|
$tos = $element->taskElement->getTo();
|
||||||
if (\count($tos) > 1
|
if (\count($tos) > 1
|
||||||
|| (!empty($tos) && $tos[0]->getRelation()->getId() !== $element->createdBy->getId())
|
|| (!empty($tos) && $tos[0]->getRelation()->getId() !== $element->taskElement->createdBy->getId())
|
||||||
) : ?>
|
) : ?>
|
||||||
<section class="portlet wf-100">
|
<section class="portlet wf-100">
|
||||||
<div class="portlet-body">
|
<div class="portlet-body">
|
||||||
<a href="<?= UriFactory::build('{/prefix}profile/single?{?}&for=' . $element->createdBy->getId()); ?>"><?= $this->printHtml($element->createdBy->name1); ?></a> <?= $this->getHtml('forwarded_to'); ?>
|
<a href="<?= UriFactory::build('{/prefix}profile/single?{?}&for=' . $element->taskElement->createdBy->getId()); ?>"><?= $this->printHtml($element->taskElement->createdBy->name1); ?></a> <?= $this->getHtml('forwarded_to'); ?>
|
||||||
<?php foreach ($tos as $to) : ?>
|
<?php foreach ($tos as $to) : ?>
|
||||||
<?php if ($to instanceof AccountRelation) : ?>
|
<?php if ($to instanceof AccountRelation) : ?>
|
||||||
<a href="<?= UriFactory::build('{/prefix}profile/single?{?}&for=' . $to->getRelation()->getId()); ?>"><?= $this->printHtml($to->getRelation()->name1); ?></a>
|
<a href="<?= UriFactory::build('{/prefix}profile/single?{?}&for=' . $to->getRelation()->getId()); ?>"><?= $this->printHtml($to->getRelation()->name1); ?></a>
|
||||||
|
|
@ -369,7 +369,7 @@ echo $this->getData('nav')->render(); ?>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="iDue"><?= $this->getHtml('Due'); ?></label>
|
<label for="iDue"><?= $this->getHtml('Due'); ?></label>
|
||||||
<input type="datetime-local" id="iDue" name="due" value="<?= $this->printHtml(
|
<input type="datetime-local" id="iDue" name="due" value="<?= $this->printHtml(
|
||||||
!empty($elements) ? \end($elements)->due->format('Y-m-d\TH:i:s') : $task->due->format('Y-m-d\TH:i:s')
|
!empty($elements) ? \end($elements)->taskElement->due->format('Y-m-d\TH:i:s') : $task->due->format('Y-m-d\TH:i:s')
|
||||||
); ?>">
|
); ?>">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user