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:39 +00:00
parent 422b5b80fe
commit cfd11cec45
10 changed files with 88 additions and 48 deletions

View File

@ -145,7 +145,7 @@ final class Installer extends InstallerAbstract
$request->header->account = 1;
$request->setData('name', $attribute['name'] ?? '');
$request->setData('title', \reset($attribute['l11n']));
$request->setData('content', \reset($attribute['l11n']));
$request->setData('language', \array_keys($attribute['l11n'])[0] ?? 'en');
$request->setData('is_required', $attribute['is_required'] ?? false);
$request->setData('repeatable', $attribute['repeatable'] ?? false);
@ -177,9 +177,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', $billAttrType[$attribute['name']]['id']);
$request->setData('ref', $billAttrType[$attribute['name']]['id']);
$module->apiBillAttributeTypeL11nCreate($request, $response);
}
@ -226,7 +226,7 @@ final class Installer extends InstallerAbstract
$request->setData('type', $billAttrType[$attribute['name']]['id']);
if (isset($value['l11n']) && !empty($value['l11n'])) {
$request->setData('title', \reset($value['l11n']));
$request->setData('content', \reset($value['l11n']));
$request->setData('language', \array_keys($value['l11n'])[0] ?? 'en');
}
@ -254,9 +254,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('value', $attrValue['id']);
$request->setData('ref', $attrValue['id']);
$module->apiBillAttributeValueL11nCreate($request, $response);
}
@ -367,7 +367,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');
$request->setData('number_format', $type['numberFormat'] ?? '{id}');
$request->setData('sign', $type['sign'] ?? 1);
@ -402,9 +402,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', $billType['id']);
$request->setData('ref', $billType['id']);
$module->apiBillTypeL11nCreate($request, $response);
}
@ -438,7 +438,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']));
$module->apiPaymentTermCreate($request, $response);
@ -462,9 +462,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', $paymentTerms[$type['name']]['id']);
$request->setData('ref', $paymentTerms[$type['name']]['id']);
$module->apiPaymentTermL11nCreate($request, $response);
}
@ -498,7 +498,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']));
$module->apiShippingTermCreate($request, $response);
@ -522,9 +522,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', $shippingTerms[$type['name']]['id']);
$request->setData('ref', $shippingTerms[$type['name']]['id']);
$module->apiShippingTermL11nCreate($request, $response);
}

View File

@ -18,6 +18,19 @@ use phpOMS\Account\PermissionType;
use phpOMS\Router\RouteVerb;
return [
'^.*/bill/file(\?.*|$)$' => [
[
'dest' => '\Modules\Billing\Controller\ApiController:apiFileCreate',
'verb' => RouteVerb::PUT,
'csrf' => true,
'active' => true,
'permission' => [
'module' => BackendController::NAME,
'type' => PermissionType::CREATE,
'state' => PermissionCategory::SALES_INVOICE,
],
],
],
'^.*/bill/render(\?.*$|$)' => [
[
'dest' => '\Modules\Billing\Controller\ApiBillController:apiMediaRender',

View File

@ -244,7 +244,12 @@ final class ApiBillController extends Controller
PermissionCategory::PURCHASE_INVOICE
)
) {
$this->fillJsonResponse($request, $response, NotificationLevel::HIDDEN, '', '', []);
$this->fillJsonResponse(
$request, $response,
NotificationLevel::ERROR, '',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'InvalidPermission'),
[]
);
$response->header->status = RequestStatusCode::R_403;
return;
@ -792,7 +797,7 @@ final class ApiBillController extends Controller
}
/** @var \Modules\Billing\Models\Bill $bill */
$bill = BillMapper::get()->where('id', (int) $request->getData('bill'))->execute();
$bill = BillMapper::get()->where('id', (int) $request->getData('ref'))->execute();
$path = $this->createBillDir($bill);
$uploaded = new NullCollection();
@ -970,7 +975,7 @@ final class ApiBillController extends Controller
{
$val = [];
if (($val['media'] = (!$request->hasData('media') && empty($request->files)))
|| ($val['bill'] = !$request->hasData('bill'))
|| ($val['ref'] = !$request->hasData('ref'))
) {
return $val;
}
@ -1152,7 +1157,12 @@ final class ApiBillController extends Controller
PermissionCategory::PURCHASE_INVOICE
)
) {
$this->fillJsonResponse($request, $response, NotificationLevel::HIDDEN, '', '', []);
$this->fillJsonResponse(
$request, $response,
NotificationLevel::ERROR, '',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'InvalidPermission'),
[]
);
$response->header->status = RequestStatusCode::R_403;
return;
@ -1318,7 +1328,12 @@ final class ApiBillController extends Controller
PermissionCategory::PURCHASE_INVOICE
)
) {
$this->fillJsonResponse($request, $response, NotificationLevel::HIDDEN, '', '', []);
$this->fillJsonResponse(
$request, $response,
NotificationLevel::ERROR, '',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'InvalidPermission'),
[]
);
$response->header->status = RequestStatusCode::R_403;
return;
@ -1578,7 +1593,7 @@ final class ApiBillController extends Controller
}
/** @var \Modules\Billing\Models\Bill $bill */
$bill = BillMapper::get()->where('id', (int) $request->getData('id'))->execute();
$bill = BillMapper::get()->where('id', (int) $request->getData('ref'))->execute();
$request->setData('virtualpath', $this->createBillDir($bill), true);
$this->app->moduleManager->get('Editor', 'Api')->apiEditorCreate($request, $response, $data);
@ -1599,7 +1614,7 @@ final class ApiBillController extends Controller
return;
}
$this->createModelRelation($request->header->account, $request->getDataInt('id'), $model->id, BillMapper::class, 'notes', '', $request->getOrigin());
$this->createModelRelation($request->header->account, $request->getDataInt('ref'), $model->id, BillMapper::class, 'notes', '', $request->getOrigin());
}
/**
@ -1614,7 +1629,7 @@ final class ApiBillController extends Controller
private function validateNoteCreate(RequestAbstract $request) : array
{
$val = [];
if (($val['id'] = !$request->hasData('id'))) {
if (($val['ref'] = !$request->hasData('ref'))) {
return $val;
}
@ -1841,7 +1856,12 @@ final class ApiBillController extends Controller
if (!$this->app->accountManager->get($accountId)->hasPermission(
PermissionType::MODIFY, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::BILL_NOTE, $request->getDataInt('id'))
) {
$this->fillJsonResponse($request, $response, NotificationLevel::HIDDEN, '', '', []);
$this->fillJsonResponse(
$request, $response,
NotificationLevel::ERROR, '',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'InvalidPermission'),
[]
);
$response->header->status = RequestStatusCode::R_403;
return;
@ -1869,7 +1889,12 @@ final class ApiBillController extends Controller
if (!$this->app->accountManager->get($accountId)->hasPermission(
PermissionType::DELETE, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::BILL_NOTE, $request->getDataInt('id'))
) {
$this->fillJsonResponse($request, $response, NotificationLevel::HIDDEN, '', '', []);
$this->fillJsonResponse(
$request, $response,
NotificationLevel::ERROR, '',
$this->app->l11nManager->getText($response->header->l11n->language, '0', '0', 'InvalidPermission'),
[]
);
$response->header->status = RequestStatusCode::R_403;
return;

View File

@ -76,7 +76,7 @@ final class ApiBillTypeController extends Controller
{
$billType = new BillType($request->getDataString('name') ?? '');
$billType->setL11n(
$request->getDataString('title') ?? '',
$request->getDataString('content') ?? '',
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
);
$billType->numberFormat = $request->getDataString('number_format') ?? '{id}';
@ -109,7 +109,7 @@ final class ApiBillTypeController extends Controller
private function validateBillTypeCreate(RequestAbstract $request) : array
{
$val = [];
if (($val['title'] = !$request->hasData('title'))
if (($val['content'] = !$request->hasData('content'))
|| ($val['name'] = !$request->hasData('name'))
) {
return $val;
@ -157,9 +157,9 @@ final class ApiBillTypeController extends Controller
private function createBillTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n
{
$billTypeL11n = new BaseStringL11n();
$billTypeL11n->ref = $request->getDataInt('type') ?? 0;
$billTypeL11n->ref = $request->getDataInt('ref') ?? 0;
$billTypeL11n->language = ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? $request->header->l11n->language;
$billTypeL11n->content = $request->getDataString('title') ?? '';
$billTypeL11n->content = $request->getDataString('content') ?? '';
return $billTypeL11n;
}
@ -176,8 +176,8 @@ final class ApiBillTypeController extends Controller
private function validateBillTypeL11nCreate(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;
}

View File

@ -75,7 +75,7 @@ final class ApiController extends Controller
private function validatePaymentTermCreate(RequestAbstract $request) : array
{
$val = [];
if (($val['title'] = !$request->hasData('title'))
if (($val['content'] = !$request->hasData('content'))
|| ($val['name'] = !$request->hasData('name'))
) {
return $val;
@ -97,7 +97,7 @@ final class ApiController extends Controller
{
$paymentTerm = new BaseStringL11nType($request->getDataString('name') ?? '');
$paymentTerm->setL11n(
$request->getDataString('title') ?? '',
$request->getDataString('content') ?? '',
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
);
@ -143,8 +143,8 @@ final class ApiController extends Controller
private function validatePaymentTermL11nCreate(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;
}
@ -164,10 +164,10 @@ final class ApiController extends Controller
private function createPaymentTermL11nFromRequest(RequestAbstract $request) : BaseStringL11n
{
$paymentL11n = new BaseStringL11n();
$paymentL11n->ref = $request->getDataInt('type') ?? 0;
$paymentL11n->ref = $request->getDataInt('ref') ?? 0;
$paymentL11n->language = ISO639x1Enum::tryFromValue($request->getDataString('language'))
?? $request->header->l11n->language;
$paymentL11n->content = $request->getDataString('title') ?? '';
$paymentL11n->content = $request->getDataString('content') ?? '';
return $paymentL11n;
}
@ -211,7 +211,7 @@ final class ApiController extends Controller
private function validateShippingTermCreate(RequestAbstract $request) : array
{
$val = [];
if (($val['title'] = !$request->hasData('title'))
if (($val['content'] = !$request->hasData('content'))
|| ($val['name'] = !$request->hasData('name'))
) {
return $val;
@ -233,7 +233,7 @@ final class ApiController extends Controller
{
$shippingTerm = new BaseStringL11nType($request->getDataString('name') ?? '');
$shippingTerm->setL11n(
$request->getDataString('title') ?? '',
$request->getDataString('content') ?? '',
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
);
@ -279,8 +279,8 @@ final class ApiController extends Controller
private function validateShippingTermL11nCreate(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;
}
@ -300,10 +300,10 @@ final class ApiController extends Controller
private function createShippingTermL11nFromRequest(RequestAbstract $request) : BaseStringL11n
{
$shippingL11n = new BaseStringL11n();
$shippingL11n->ref = $request->getDataInt('type') ?? 0;
$shippingL11n->ref = $request->getDataInt('ref') ?? 0;
$shippingL11n->language = ISO639x1Enum::tryFromValue($request->getDataString('language'))
?? $request->header->l11n->language;
$shippingL11n->content = $request->getDataString('title') ?? '';
$shippingL11n->content = $request->getDataString('content') ?? '';
return $shippingL11n;
}

View File

@ -565,7 +565,7 @@ echo $this->data['nav']->render(); ?>
<input type="radio" id="c-tab-6" name="tabular-2">
<div class="tab col-simple">
<?= $this->data['media-upload']->render('bill-file', 'files', '', $media); ?>
<?= $this->data['media-upload']->render('bill-file', 'files', '', $media, '{/api}bill/file?csrf={$CSRF}', (string) $bill->id); ?>
</div>
<?php if (!$isNew && !empty($bill)) : ?>

View File

@ -47,7 +47,8 @@ echo $this->data['nav']->render(); ?>
<?= $this->data['l11nView']->render(
$this->data['l11nValues'],
[],
'{/api}bill/payment/l11n?csrf={$CSRF}'
'{/api}bill/payment/l11n?csrf={$CSRF}',
(string) $type->id
);
?>
</div>

View File

@ -565,7 +565,7 @@ echo $this->data['nav']->render(); ?>
<input type="radio" id="c-tab-6" name="tabular-2">
<div class="tab col-simple">
<?= $this->data['media-upload']->render('bill-file', 'files', '', $bill->files); ?>
<?= $this->data['media-upload']->render('bill-file', 'files', '', $bill->files, '{/api}bill/file?csrf={$CSRF}', (string) $bill->id); ?>
</div>
<?php if (!$isNew && !empty($logs)) : ?>

View File

@ -47,7 +47,8 @@ echo $this->data['nav']->render(); ?>
<?= $this->data['l11nView']->render(
$this->data['l11nValues'],
[],
'{/api}bill/shipping/l11n?csrf={$CSRF}'
'{/api}bill/shipping/l11n?csrf={$CSRF}',
(string) $type->id
);
?>
</div>

View File

@ -91,7 +91,7 @@ trait ApiBillControllerTrait
$request->header->account = \mt_rand(2, 5);
$request->setData('id', 1);
$request->setData('ref', 1);
$request->setData('title', 'Test note title');
$request->setData('plain', 'Test content text');