many small fixes

This commit is contained in:
Dennis Eichhorn 2023-02-10 18:20:57 +01:00
parent 6faa514311
commit e231c15a0e
4 changed files with 164 additions and 28 deletions

View File

@ -29,11 +29,9 @@ use Modules\Tasks\Models\Task;
use Modules\Tasks\Models\TaskAttribute; use Modules\Tasks\Models\TaskAttribute;
use Modules\Tasks\Models\TaskAttributeMapper; use Modules\Tasks\Models\TaskAttributeMapper;
use Modules\Tasks\Models\TaskAttributeType; use Modules\Tasks\Models\TaskAttributeType;
use Modules\Tasks\Models\TaskAttributeTypeL11n;
use Modules\Tasks\Models\TaskAttributeTypeL11nMapper; use Modules\Tasks\Models\TaskAttributeTypeL11nMapper;
use Modules\Tasks\Models\TaskAttributeTypeMapper; use Modules\Tasks\Models\TaskAttributeTypeMapper;
use Modules\Tasks\Models\TaskAttributeValue; use Modules\Tasks\Models\TaskAttributeValue;
use Modules\Tasks\Models\TaskAttributeValueL11n;
use Modules\Tasks\Models\TaskAttributeValueL11nMapper; use Modules\Tasks\Models\TaskAttributeValueL11nMapper;
use Modules\Tasks\Models\TaskAttributeValueMapper; use Modules\Tasks\Models\TaskAttributeValueMapper;
use Modules\Tasks\Models\TaskElement; use Modules\Tasks\Models\TaskElement;
@ -114,7 +112,14 @@ final class ApiController extends Controller
$this->createTaskMedia($task, $request); $this->createTaskMedia($task, $request);
} }
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task', 'Task successfully created.', $task); $this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulCreate'),
$task
);
} }
/** /**
@ -146,8 +151,15 @@ final class ApiController extends Controller
$collection = null; $collection = null;
foreach ($uploaded as $media) { foreach ($uploaded as $media) {
MediaMapper::create()->execute($media); $this->createModelRelation(
TaskMapper::writer()->createRelationTable('media', [$media->getId()], $task->getId()); $request->header->account,
$task->getId(),
$media->getId(),
TaskMapper::class,
'media',
'',
$request->getOrigin()
);
$accountPath = '/Accounts/' $accountPath = '/Accounts/'
. $account->getId() . ' ' . $account->getId() . ' '
@ -162,7 +174,7 @@ final class ApiController extends Controller
$ref->createdBy = new NullAccount($request->header->account); $ref->createdBy = new NullAccount($request->header->account);
$ref->setVirtualPath($accountPath); $ref->setVirtualPath($accountPath);
ReferenceMapper::create()->execute($ref); $this->createModel($request->header->account, $ref, ReferenceMapper::class, 'media_reference', $request->getOrigin());
if ($collection === null) { if ($collection === null) {
/** @var \Modules\Media\Models\Media $media */ /** @var \Modules\Media\Models\Media $media */
@ -181,7 +193,15 @@ final class ApiController extends Controller
} }
} }
CollectionMapper::writer()->createRelationTable('sources', [$ref->getId()], $collection->getId()); $this->createModelRelation(
$request->header->account,
$collection->getId(),
$ref->getId(),
CollectionMapper::class,
'sources',
'',
$request->getOrigin()
);
} }
} }
@ -192,7 +212,15 @@ final class ApiController extends Controller
/** @var \Modules\Media\Models\Media $media */ /** @var \Modules\Media\Models\Media $media */
$media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute(); $media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute();
TaskMapper::writer()->createRelationTable('media', [$media->getId()], $task->getId()); $this->createModelRelation(
$request->header->account,
$task->getId(),
$media->getId(),
TaskMapper::class,
'media',
'',
$request->getOrigin()
);
$ref = new Reference(); $ref = new Reference();
$ref->name = $media->name; $ref->name = $media->name;
@ -200,7 +228,7 @@ final class ApiController extends Controller
$ref->createdBy = new NullAccount($request->header->account); $ref->createdBy = new NullAccount($request->header->account);
$ref->setVirtualPath($path); $ref->setVirtualPath($path);
ReferenceMapper::create()->execute($ref); $this->createModel($request->header->account, $ref, ReferenceMapper::class, 'media_reference', $request->getOrigin());
if ($collection === null) { if ($collection === null) {
/** @var \Modules\Media\Models\Media $media */ /** @var \Modules\Media\Models\Media $media */
@ -215,7 +243,15 @@ final class ApiController extends Controller
} }
} }
CollectionMapper::writer()->createRelationTable('sources', [$ref->getId()], $collection->getId()); $this->createModelRelation(
$request->header->account,
$collection->getId(),
$ref->getId(),
CollectionMapper::class,
'sources',
'',
$request->getOrigin()
);
} }
} }
} }
@ -344,7 +380,14 @@ final class ApiController extends Controller
$this->app->eventManager->triggerSimilar($new->trigger, '', $new); $this->app->eventManager->triggerSimilar($new->trigger, '', $new);
} }
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task', 'Task successfully updated.', $new); $this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulUpdate'),
$new
);
} }
/** /**
@ -442,7 +485,14 @@ final class ApiController extends Controller
$this->app->eventManager->triggerSimilar($task->trigger, '', $task); $this->app->eventManager->triggerSimilar($task->trigger, '', $task);
} }
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task element', 'Task element successfully created.', $element); $this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulCreate'),
$element
);
} }
/** /**
@ -476,8 +526,15 @@ final class ApiController extends Controller
$collection = null; $collection = null;
foreach ($uploaded as $media) { foreach ($uploaded as $media) {
MediaMapper::create()->execute($media); $this->createModelRelation(
TaskElementMapper::writer()->createRelationTable('media', [$media->getId()], $element->getId()); $request->header->account,
$element->getId(),
$media->getId(),
TaskElementMapper::class,
'media',
'',
$request->getOrigin()
);
$accountPath = '/Accounts/' . $account->getId() . ' ' $accountPath = '/Accounts/' . $account->getId() . ' '
. $account->login . '/Tasks/' . $account->login . '/Tasks/'
@ -491,7 +548,7 @@ final class ApiController extends Controller
$ref->createdBy = new NullAccount($request->header->account); $ref->createdBy = new NullAccount($request->header->account);
$ref->setVirtualPath($accountPath); $ref->setVirtualPath($accountPath);
ReferenceMapper::create()->execute($ref); $this->createModel($request->header->account, $ref, ReferenceMapper::class, 'media_reference', $request->getOrigin());
if ($collection === null) { if ($collection === null) {
$collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection( $collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection(
@ -504,7 +561,15 @@ final class ApiController extends Controller
); );
} }
CollectionMapper::writer()->createRelationTable('sources', [$ref->getId()], $collection->getId()); $this->createModelRelation(
$request->header->account,
$collection->getId(),
$ref->getId(),
CollectionMapper::class,
'sources',
'',
$request->getOrigin()
);
} }
} }
@ -515,7 +580,15 @@ final class ApiController extends Controller
/** @var \Modules\Media\Models\Media $media */ /** @var \Modules\Media\Models\Media $media */
$media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute(); $media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute();
TaskElementMapper::writer()->createRelationTable('media', [$media->getId()], $element->getId()); $this->createModelRelation(
$request->header->account,
$element->getId(),
$media->getId(),
TaskElementMapper::class,
'media',
'',
$request->getOrigin()
);
$ref = new Reference(); $ref = new Reference();
$ref->name = $media->name; $ref->name = $media->name;
@ -523,7 +596,7 @@ final class ApiController extends Controller
$ref->createdBy = new NullAccount($request->header->account); $ref->createdBy = new NullAccount($request->header->account);
$ref->setVirtualPath($path); $ref->setVirtualPath($path);
ReferenceMapper::create()->execute($ref); $this->createModel($request->header->account, $ref, ReferenceMapper::class, 'media_reference', $request->getOrigin());
if ($collection === null) { if ($collection === null) {
$collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection( $collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection(
@ -533,7 +606,15 @@ final class ApiController extends Controller
); );
} }
CollectionMapper::writer()->createRelationTable('sources', [$ref->getId()], $collection->getId()); $this->createModelRelation(
$request->header->account,
$collection->getId(),
$ref->getId(),
CollectionMapper::class,
'sources',
'',
$request->getOrigin()
);
} }
} }
} }
@ -640,7 +721,14 @@ final class ApiController extends Controller
} }
} }
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Task element', 'Task element successfully updated.', $new); $this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulUpdate'),
$new
);
} }
/** /**
@ -704,7 +792,15 @@ final class ApiController extends Controller
$attribute = $this->createTaskAttributeFromRequest($request); $attribute = $this->createTaskAttributeFromRequest($request);
$this->createModel($request->header->account, $attribute, TaskAttributeMapper::class, 'attribute', $request->getOrigin()); $this->createModel($request->header->account, $attribute, TaskAttributeMapper::class, 'attribute', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute', 'Attribute successfully created', $attribute);
$this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulCreate'),
$attribute
);
} }
/** /**
@ -782,7 +878,15 @@ final class ApiController extends Controller
$attrL11n = $this->createTaskAttributeTypeL11nFromRequest($request); $attrL11n = $this->createTaskAttributeTypeL11nFromRequest($request);
$this->createModel($request->header->account, $attrL11n, TaskAttributeTypeL11nMapper::class, 'attr_type_l11n', $request->getOrigin()); $this->createModel($request->header->account, $attrL11n, TaskAttributeTypeL11nMapper::class, 'attr_type_l11n', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute type localization', 'Attribute type localization successfully created', $attrL11n);
$this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulCreate'),
$attrL11n
);
} }
/** /**
@ -852,7 +956,14 @@ final class ApiController extends Controller
$attrType = $this->createTaskAttributeTypeFromRequest($request); $attrType = $this->createTaskAttributeTypeFromRequest($request);
$this->createModel($request->header->account, $attrType, TaskAttributeTypeMapper::class, 'attr_type', $request->getOrigin()); $this->createModel($request->header->account, $attrType, TaskAttributeTypeMapper::class, 'attr_type', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute type', 'Attribute type successfully created', $attrType); $this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulCreate'),
$attrType
);
} }
/** /**
@ -931,7 +1042,14 @@ final class ApiController extends Controller
); );
} }
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute value', 'Attribute value successfully created', $attrValue); $this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulCreate'),
$attrValue
);
} }
/** /**
@ -1006,7 +1124,15 @@ final class ApiController extends Controller
$attrL11n = $this->createTaskAttributeValueL11nFromRequest($request); $attrL11n = $this->createTaskAttributeValueL11nFromRequest($request);
$this->createModel($request->header->account, $attrL11n, TaskAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin()); $this->createModel($request->header->account, $attrL11n, TaskAttributeValueL11nMapper::class, 'attr_value_l11n', $request->getOrigin());
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Attribute type localization', 'Attribute type localization successfully created', $attrL11n);
$this->fillJsonResponse(
$request,
$response,
NotificationLevel::OK,
'',
$this->app->l11nManager->getText($response->getLanguage(), '0', '0', 'SucessfulCreate'),
$attrL11n
);
} }
/** /**

View File

@ -190,12 +190,15 @@ final class BackendController extends Controller implements DashboardElementInte
/** @var \Modules\Tasks\Models\Task $task */ /** @var \Modules\Tasks\Models\Task $task */
$task = TaskMapper::get() $task = TaskMapper::get()
->with('createdBy') ->with('createdBy')
->with('tags')
->with('tags/title')
->with('taskElements') ->with('taskElements')
->with('taskElements/createdBy') ->with('taskElements/createdBy')
->with('taskElements/media') ->with('taskElements/media')
->with('taskElements/accRelation') ->with('taskElements/accRelation')
->with('taskElements/accRelation/relation') ->with('taskElements/accRelation/relation')
->where('id', (int) $request->getData('id')) ->where('id', (int) $request->getData('id'))
->where('tags/title/language', $request->getLanguage())
->execute(); ->execute();
$accountId = $request->header->account; $accountId = $request->header->account;

View File

@ -57,7 +57,6 @@ echo $this->getData('nav')->render(); ?>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="iMessage"><?= $this->getHtml('Message'); ?></label>
<?= $this->getData('editor')->render('task-editor'); ?> <?= $this->getData('editor')->render('task-editor'); ?>
</div> </div>

View File

@ -54,7 +54,11 @@ if ($open !== null) :
<?php <?php
$c = 0; $c = 0;
foreach ($open as $key => $task) : ++$c; foreach ($open as $key => $task) : ++$c;
$url = UriFactory::build(!empty($task->redirect) ? $task->redirect : ('task/single?{?}&id=' . $task->getId())); $url = UriFactory::build(!empty($task->redirect)
? '{/lang}{/app}/' . $task->redirect
: ('task/single?{?}&id=' . $task->getId()),
['$id' => $task->getId()]
);
?> ?>
<tr tabindex="0" data-href="<?= $url; ?>"> <tr tabindex="0" data-href="<?= $url; ?>">
<td data-label="<?= $this->getHtml('Status'); ?>"> <td data-label="<?= $this->getHtml('Status'); ?>">
@ -115,7 +119,11 @@ if ($open !== null) :
} }
++$c; ++$c;
$url = UriFactory::build(!empty($task->redirect) ? $task->redirect : ('task/single?{?}&id=' . $task->getId())); $url = UriFactory::build(!empty($task->redirect)
? '{/lang}{/app}/' . $task->redirect
: ('task/single?{?}&id=' . $task->getId()),
['$id' => $task->getId()]
);
?> ?>
<tr tabindex="0" data-href="<?= $url; ?>"> <tr tabindex="0" data-href="<?= $url; ?>">
<td data-label="<?= $this->getHtml('Status'); ?>"> <td data-label="<?= $this->getHtml('Status'); ?>">