bug fixes
Some checks failed
Image optimization / general_image_workflow (push) Has been cancelled
CI / general_module_workflow_php (push) Has been cancelled
CI / general_module_workflow_js (push) Has been cancelled

This commit is contained in:
Dennis Eichhorn 2024-10-11 19:17:40 +00:00
parent 2c4760c86a
commit 7290a92d8e
5 changed files with 121 additions and 20 deletions

View File

@ -82,7 +82,7 @@ final class Installer extends InstallerAbstract
$request->header->account = 1;
$request->setData('name', $type['name'] ?? '');
$request->setData('title', \reset($type['l11n']));
$request->setData('content', \reset($type['l11n']));
$request->setData('language', \array_keys($type['l11n'])[0] ?? 'en');
$module->apiAmountTypeCreate($request, $response);
@ -107,9 +107,9 @@ final class Installer extends InstallerAbstract
$request = new HttpRequest();
$request->header->account = 1;
$request->setData('title', $l11n);
$request->setData('content', $l11n);
$request->setData('language', $language);
$request->setData('type', $amountTypes[$type['name']]['id']);
$request->setData('ref', $amountTypes[$type['name']]['id']);
$module->apiAmountTypeL11nCreate($request, $response);
}

View File

@ -31,6 +31,107 @@ return [
],
],
],
'^.*/finance/investment(\?.*$|$)' => [
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiController:apiInvestmentCreate',
'verb' => RouteVerb::PUT,
'csrf' => true,
'active' => true,
'permission' => [
'module' => ApiController::NAME,
'type' => PermissionType::CREATE,
'state' => PermissionCategory::INVESTMENT,
],
],
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiController:apiInvestmentUpdate',
'verb' => RouteVerb::SET,
'csrf' => true,
'active' => true,
'permission' => [
'module' => ApiController::NAME,
'type' => PermissionType::MODIFY,
'state' => PermissionCategory::INVESTMENT,
],
],
],
'^.*/finance/investment/option(\?.*$|$)' => [
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiController:apiInvestmentOptionCreate',
'verb' => RouteVerb::PUT,
'csrf' => true,
'active' => true,
'permission' => [
'module' => ApiController::NAME,
'type' => PermissionType::CREATE,
'state' => PermissionCategory::INVESTMENT,
],
],
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiController:apiInvestmentOptionUpdate',
'verb' => RouteVerb::SET,
'csrf' => true,
'active' => true,
'permission' => [
'module' => ApiController::NAME,
'type' => PermissionType::MODIFY,
'state' => PermissionCategory::INVESTMENT,
],
],
],
'^.*/finance/investment/option/file(\?.*|$)$' => [
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiController:apiMediaAddToInvestmentObject',
'verb' => RouteVerb::PUT,
'csrf' => true,
'active' => true,
'permission' => [
'module' => ApiController::NAME,
'type' => PermissionType::CREATE,
'state' => PermissionCategory::INVESTMENT,
],
],
],
'^.*/finance/investment/option/note(\?.*|$)$' => [
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiController:apiNoteCreate',
'verb' => RouteVerb::PUT,
'csrf' => true,
'active' => true,
'permission' => [
'module' => ApiController::NAME,
'type' => PermissionType::CREATE,
'state' => PermissionCategory::INVESTMENT,
],
],
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiController:apiNoteUpdate',
'verb' => RouteVerb::SET,
'csrf' => true,
'active' => true,
'permission' => [
'module' => ApiController::NAME,
'type' => PermissionType::MODIFY,
'state' => PermissionCategory::INVESTMENT,
],
],
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiController:apiNoteDelete',
'verb' => RouteVerb::DELETE,
'csrf' => true,
'active' => true,
'permission' => [
'module' => ApiController::NAME,
'type' => PermissionType::DELETE,
'state' => PermissionCategory::INVESTMENT,
],
],
],
'^.*/finance/investment/attribute(\?.*|$)$' => [
[
'dest' => '\Modules\InvestmentManagement\Controller\ApiAttributeController:apiInvestmentAttributeCreate',

View File

@ -175,7 +175,7 @@ final class ApiController extends Controller
}
/** @var \Modules\InvestmentManagement\Models\Investment $investment */
$investment = InvestmentMapper::get()->where('id', (int) $request->getData('investment'))->execute();
$investment = InvestmentMapper::get()->where('id', (int) $request->getData('ref'))->execute();
$path = $this->createInvestmentDir($investment);
$uploaded = new NullCollection();
@ -227,7 +227,7 @@ final class ApiController extends Controller
{
$val = [];
if (($val['media'] = (!$request->hasData('media') && empty($request->files)))
|| ($val['investment'] = !$request->hasData('investment'))
|| ($val['ref'] = !$request->hasData('ref'))
) {
return $val;
}
@ -505,7 +505,7 @@ final class ApiController extends Controller
}
/** @var \Modules\InvestmentManagement\Models\InvestmentObject $investment */
$investment = InvestmentObjectMapper::get()->where('id', (int) $request->getData('option'))->execute();
$investment = InvestmentObjectMapper::get()->where('id', (int) $request->getData('ref'))->execute();
$path = $this->createInvestmentObjectDir($investment);
$uploaded = new NullCollection();
@ -557,7 +557,7 @@ final class ApiController extends Controller
{
$val = [];
if (($val['media'] = (!$request->hasData('media') && empty($request->files)))
|| ($val['investment'] = !$request->hasData('investment'))
|| ($val['ref'] = !$request->hasData('ref'))
) {
return $val;
}
@ -579,7 +579,7 @@ final class ApiController extends Controller
$type = new BaseStringL11nType();
$type->title = $request->getDataString('name') ?? '';
$type->setL11n(
$request->getDataString('title') ?? '',
$request->getDataString('content') ?? '',
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
);
@ -599,7 +599,7 @@ final class ApiController extends Controller
{
$val = [];
if (($val['name'] = !$request->hasData('name'))
|| ($val['title'] = !$request->hasData('title'))
|| ($val['content'] = !$request->hasData('content'))
) {
return $val;
}
@ -646,9 +646,9 @@ final class ApiController extends Controller
private function createAmountTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n
{
$typeL11n = new BaseStringL11n();
$typeL11n->ref = $request->getDataInt('type') ?? 0;
$typeL11n->ref = $request->getDataInt('ref') ?? 0;
$typeL11n->language = ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? $request->header->l11n->language;
$typeL11n->content = $request->getDataString('title') ?? '';
$typeL11n->content = $request->getDataString('content') ?? '';
return $typeL11n;
}
@ -665,8 +665,8 @@ final class ApiController extends Controller
private function validateAmountTypeL11nCreate(RequestAbstract $request) : array
{
$val = [];
if (($val['title'] = !$request->hasData('title'))
|| ($val['type'] = !$request->hasData('type'))
if (($val['content'] = !$request->hasData('content'))
|| ($val['ref'] = !$request->hasData('ref'))
) {
return $val;
}
@ -696,7 +696,7 @@ final class ApiController extends Controller
return;
}
$request->setData('virtualpath', '/Modules/InvestmentManagement/Investment/' . $request->getData('id'), true);
$request->setData('virtualpath', '/Modules/InvestmentManagement/Investment/' . $request->getData('ref'), true);
$this->app->moduleManager->get('Editor', 'Api')->apiEditorCreate($request, $response, $data);
if ($response->header->status !== RequestStatusCode::R_200) {
@ -709,7 +709,7 @@ final class ApiController extends Controller
}
$model = $responseData['response'];
$this->createModelRelation($request->header->account, (int) $request->getData('id'), $model->id, InvestmentMapper::class, 'notes', '', $request->getOrigin());
$this->createModelRelation($request->header->account, (int) $request->getData('ref'), $model->id, InvestmentMapper::class, 'notes', '', $request->getOrigin());
}
/**
@ -724,7 +724,7 @@ final class ApiController extends Controller
private function validateNoteCreate(RequestAbstract $request) : array
{
$val = [];
if (($val['id'] = !$request->hasData('id'))
if (($val['ref'] = !$request->hasData('ref'))
) {
return $val;
}

View File

@ -137,12 +137,12 @@ $isNew = $option->id === 0;
<input type="radio" id="c-tab-4" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-4' ? ' checked' : ''; ?>>
<div class="tab col-simple">
<?= $this->data['note']->render('option-note', 'notes', $option->notes); ?>
<?= $this->data['note']->render('option-note', 'notes', $option->notes, '{/api}finance/investment/option/note?csrf={$CSRF}', (string) $option->id); ?>
</div>
<input type="radio" id="c-tab-5" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-5' ? ' checked' : ''; ?>>
<div class="tab col-simple">
<?= $this->data['media-upload']->render('option-file', 'files', '', $option->files); ?>
<?= $this->data['media-upload']->render('option-file', 'files', '', $option->files, '{/api}finance/investment/option/file?csrf={$CSRF}', (string) $option->id); ?>
</div>
<?php endif; ?>
</div>

View File

@ -131,12 +131,12 @@ echo $this->data['nav']->render(); ?>
<?php if (!$isNew) : ?>
<input type="radio" id="c-tab-2" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-2' ? ' checked' : ''; ?>>
<div class="tab col-simple">
<?= $this->data['media-upload']->render('investment-file', 'files', '', $investment->files); ?>
<?= $this->data['media-upload']->render('investment-file', 'files', '', $investment->files, '{/api}finance/investment/file?csrf={$CSRF}', (string) $investment->id); ?>
</div>
<input type="radio" id="c-tab-3" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-3' ? ' checked' : ''; ?>>
<div class="tab col-simple">
<?= $this->data['note']->render('investment-notes', '', $investment->notes); ?>
<?= $this->data['note']->render('investment-notes', '', $investment->notes, '{/api}finance/investment/note?csrf={$CSRF}', (string) $investment->id); ?>
</div>
<input type="radio" id="c-tab-4" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-4' ? ' checked' : ''; ?>>