mirror of
https://github.com/Karaka-Management/oms-BusinessExpenses.git
synced 2026-01-11 15:18:44 +00:00
bug fixes
This commit is contained in:
parent
efa14e014f
commit
3083958d0c
|
|
@ -92,7 +92,7 @@ final class Installer extends InstallerAbstract
|
||||||
|
|
||||||
$request->header->account = 1;
|
$request->header->account = 1;
|
||||||
$request->setData('name', $type['name'] ?? '');
|
$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('language', \array_keys($type['l11n'])[0] ?? 'en');
|
||||||
|
|
||||||
$module->apiExpenseTypeCreate($request, $response);
|
$module->apiExpenseTypeCreate($request, $response);
|
||||||
|
|
@ -117,9 +117,9 @@ final class Installer extends InstallerAbstract
|
||||||
$request = new HttpRequest();
|
$request = new HttpRequest();
|
||||||
|
|
||||||
$request->header->account = 1;
|
$request->header->account = 1;
|
||||||
$request->setData('title', $l11n);
|
$request->setData('content', $l11n);
|
||||||
$request->setData('language', $language);
|
$request->setData('language', $language);
|
||||||
$request->setData('type', $expenseTypes[$type['name']]['id']);
|
$request->setData('ref', $expenseTypes[$type['name']]['id']);
|
||||||
|
|
||||||
$module->apiExpenseTypeL11nCreate($request, $response);
|
$module->apiExpenseTypeL11nCreate($request, $response);
|
||||||
}
|
}
|
||||||
|
|
@ -153,7 +153,7 @@ final class Installer extends InstallerAbstract
|
||||||
|
|
||||||
$request->header->account = 1;
|
$request->header->account = 1;
|
||||||
$request->setData('name', $type['name'] ?? '');
|
$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('language', \array_keys($type['l11n'])[0] ?? 'en');
|
||||||
|
|
||||||
$module->apiExpenseElementTypeCreate($request, $response);
|
$module->apiExpenseElementTypeCreate($request, $response);
|
||||||
|
|
@ -178,9 +178,9 @@ final class Installer extends InstallerAbstract
|
||||||
$request = new HttpRequest();
|
$request = new HttpRequest();
|
||||||
|
|
||||||
$request->header->account = 1;
|
$request->header->account = 1;
|
||||||
$request->setData('title', $l11n);
|
$request->setData('content', $l11n);
|
||||||
$request->setData('language', $language);
|
$request->setData('language', $language);
|
||||||
$request->setData('type', $elementTypes[$type['name']]['id']);
|
$request->setData('ref', $elementTypes[$type['name']]['id']);
|
||||||
|
|
||||||
$module->apiExpenseElementTypeL11nCreate($request, $response);
|
$module->apiExpenseElementTypeL11nCreate($request, $response);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
283
Admin/Routes/Web/Api.php
Normal file
283
Admin/Routes/Web/Api.php
Normal file
|
|
@ -0,0 +1,283 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Jingga
|
||||||
|
*
|
||||||
|
* PHP Version 8.2
|
||||||
|
*
|
||||||
|
* @package Modules
|
||||||
|
* @copyright Dennis Eichhorn
|
||||||
|
* @license OMS License 2.2
|
||||||
|
* @version 1.0.0
|
||||||
|
* @link https://jingga.app
|
||||||
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
use Modules\BusinessExpenses\Controller\ApiController;
|
||||||
|
use Modules\BusinessExpenses\Models\PermissionCategory;
|
||||||
|
use phpOMS\Account\PermissionType;
|
||||||
|
use phpOMS\Router\RouteVerb;
|
||||||
|
|
||||||
|
return [
|
||||||
|
'^.*/businessexpenses/expense/find(\?.*$|$)' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseFind',
|
||||||
|
'verb' => RouteVerb::GET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::READ,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'^.*/businessexpenses/expense(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseCreate',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseUpdate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::MODIFY,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/type(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseTypeCreate',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseTypeUpdate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::MODIFY,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/type/l11n(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiContractTypeController:apiExpenseTypeL11nCreate',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiContractTypeController:apiExpenseTypeL11nUpdate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::MODIFY,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/file(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiMediaAddToExpense',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/note(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiNoteCreate',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiNoteUpdate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::MODIFY,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiNoteDelete',
|
||||||
|
'verb' => RouteVerb::DELETE,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::DELETE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/element(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseElementCreate',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseElementUpdate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::MODIFY,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/element/type(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseElementTypeCreate',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiExpenseElementTypeUpdate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::MODIFY,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/element/type/l11n(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiContractTypeController:apiExpenseElementTypeL11nCreate',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiContractTypeController:apiExpenseTypeL11nUpdate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::MODIFY,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/element/file(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiMediaAddToExpenseElement',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'^.*/businessexpenses/expense/element/note(\?.*|$)$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiNoteCreate',
|
||||||
|
'verb' => RouteVerb::PUT,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::CREATE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiNoteUpdate',
|
||||||
|
'verb' => RouteVerb::SET,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::MODIFY,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\BusinessExpenses\Controller\ApiController:apiNoteDelete',
|
||||||
|
'verb' => RouteVerb::DELETE,
|
||||||
|
'csrf' => true,
|
||||||
|
'active' => true,
|
||||||
|
'permission' => [
|
||||||
|
'module' => ApiController::NAME,
|
||||||
|
'type' => PermissionType::DELETE,
|
||||||
|
'state' => PermissionCategory::EXPENSE,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
@ -99,7 +99,7 @@ final class ApiController extends Controller
|
||||||
$type = new BaseStringL11nType();
|
$type = new BaseStringL11nType();
|
||||||
$type->title = $request->getDataString('name') ?? '';
|
$type->title = $request->getDataString('name') ?? '';
|
||||||
$type->setL11n(
|
$type->setL11n(
|
||||||
$request->getDataString('title') ?? '',
|
$request->getDataString('content') ?? '',
|
||||||
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
|
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -119,7 +119,7 @@ final class ApiController extends Controller
|
||||||
{
|
{
|
||||||
$val = [];
|
$val = [];
|
||||||
if (($val['name'] = !$request->hasData('name'))
|
if (($val['name'] = !$request->hasData('name'))
|
||||||
|| ($val['title'] = !$request->hasData('title'))
|
|| ($val['content'] = !$request->hasData('content'))
|
||||||
) {
|
) {
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
@ -166,9 +166,9 @@ final class ApiController extends Controller
|
||||||
private function createExpenseTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n
|
private function createExpenseTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n
|
||||||
{
|
{
|
||||||
$typeL11n = new 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->language = ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? $request->header->l11n->language;
|
||||||
$typeL11n->content = $request->getDataString('title') ?? '';
|
$typeL11n->content = $request->getDataString('content') ?? '';
|
||||||
|
|
||||||
return $typeL11n;
|
return $typeL11n;
|
||||||
}
|
}
|
||||||
|
|
@ -185,8 +185,8 @@ final class ApiController extends Controller
|
||||||
private function validateExpenseTypeL11nCreate(RequestAbstract $request) : array
|
private function validateExpenseTypeL11nCreate(RequestAbstract $request) : array
|
||||||
{
|
{
|
||||||
$val = [];
|
$val = [];
|
||||||
if (($val['title'] = !$request->hasData('title'))
|
if (($val['content'] = !$request->hasData('content'))
|
||||||
|| ($val['type'] = !$request->hasData('type'))
|
|| ($val['ref'] = !$request->hasData('ref'))
|
||||||
) {
|
) {
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
@ -236,7 +236,7 @@ final class ApiController extends Controller
|
||||||
$type = new BaseStringL11nType();
|
$type = new BaseStringL11nType();
|
||||||
$type->title = $request->getDataString('name') ?? '';
|
$type->title = $request->getDataString('name') ?? '';
|
||||||
$type->setL11n(
|
$type->setL11n(
|
||||||
$request->getDataString('title') ?? '',
|
$request->getDataString('content') ?? '',
|
||||||
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
|
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -256,7 +256,7 @@ final class ApiController extends Controller
|
||||||
{
|
{
|
||||||
$val = [];
|
$val = [];
|
||||||
if (($val['name'] = !$request->hasData('name'))
|
if (($val['name'] = !$request->hasData('name'))
|
||||||
|| ($val['title'] = !$request->hasData('title'))
|
|| ($val['content'] = !$request->hasData('content'))
|
||||||
) {
|
) {
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
@ -303,9 +303,9 @@ final class ApiController extends Controller
|
||||||
private function createExpenseElementTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n
|
private function createExpenseElementTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n
|
||||||
{
|
{
|
||||||
$typeL11n = new 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->language = ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? $request->header->l11n->language;
|
||||||
$typeL11n->content = $request->getDataString('title') ?? '';
|
$typeL11n->content = $request->getDataString('content') ?? '';
|
||||||
|
|
||||||
return $typeL11n;
|
return $typeL11n;
|
||||||
}
|
}
|
||||||
|
|
@ -322,8 +322,8 @@ final class ApiController extends Controller
|
||||||
private function validateExpenseElementTypeL11nCreate(RequestAbstract $request) : array
|
private function validateExpenseElementTypeL11nCreate(RequestAbstract $request) : array
|
||||||
{
|
{
|
||||||
$val = [];
|
$val = [];
|
||||||
if (($val['title'] = !$request->hasData('title'))
|
if (($val['content'] = !$request->hasData('content'))
|
||||||
|| ($val['type'] = !$request->hasData('type'))
|
|| ($val['ref'] = !$request->hasData('ref'))
|
||||||
) {
|
) {
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
@ -622,7 +622,7 @@ final class ApiController extends Controller
|
||||||
{
|
{
|
||||||
$val = [];
|
$val = [];
|
||||||
if (($val['media'] = (!$request->hasData('media') && empty($request->files)))
|
if (($val['media'] = (!$request->hasData('media') && empty($request->files)))
|
||||||
|| ($val['expense'] = !$request->hasData('expense'))
|
|| ($val['ref'] = !$request->hasData('ref'))
|
||||||
) {
|
) {
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
@ -653,10 +653,10 @@ final class ApiController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @var \Modules\BusinessExpenses\Models\Expense $expense */
|
/** @var \Modules\BusinessExpenses\Models\Expense $expense */
|
||||||
$expense = ExpenseMapper::get()->where('id', (int) $request->getData('expense'))->execute();
|
$expense = ExpenseMapper::get()->where('id', (int) $request->getData('ref'))->execute();
|
||||||
$path = $this->createExpenseDir($expense);
|
$path = $this->createExpenseDir($expense);
|
||||||
|
|
||||||
$element = (int) $request->getData('element');
|
$element = (int) $request->getData('ref');
|
||||||
|
|
||||||
$uploaded = new NullCollection();
|
$uploaded = new NullCollection();
|
||||||
if (!empty($request->files)) {
|
if (!empty($request->files)) {
|
||||||
|
|
@ -758,7 +758,7 @@ final class ApiController extends Controller
|
||||||
$val = [];
|
$val = [];
|
||||||
if (($val['media'] = (!$request->hasData('media') && empty($request->files)))
|
if (($val['media'] = (!$request->hasData('media') && empty($request->files)))
|
||||||
|| ($val['expense'] = !$request->hasData('expense'))
|
|| ($val['expense'] = !$request->hasData('expense'))
|
||||||
|| ($val['element'] = !$request->hasData('element'))
|
|| ($val['ref'] = !$request->hasData('ref'))
|
||||||
) {
|
) {
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
@ -943,7 +943,7 @@ final class ApiController extends Controller
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$request->setData('virtualpath', '/Modules/BusinessExpenses/Items/' . $request->getData('id'), true);
|
$request->setData('virtualpath', '/Modules/BusinessExpenses/Items/' . $request->getData('ref'), true);
|
||||||
$this->app->moduleManager->get('Editor', 'Api')->apiEditorCreate($request, $response, $data);
|
$this->app->moduleManager->get('Editor', 'Api')->apiEditorCreate($request, $response, $data);
|
||||||
|
|
||||||
if ($response->header->status !== RequestStatusCode::R_200) {
|
if ($response->header->status !== RequestStatusCode::R_200) {
|
||||||
|
|
@ -956,7 +956,7 @@ final class ApiController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
$model = $responseData['response'];
|
$model = $responseData['response'];
|
||||||
$this->createModelRelation($request->header->account, (int) $request->getData('id'), $model->id, ExpenseMapper::class, 'notes', '', $request->getOrigin());
|
$this->createModelRelation($request->header->account, (int) $request->getData('ref'), $model->id, ExpenseMapper::class, 'notes', '', $request->getOrigin());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -971,7 +971,7 @@ final class ApiController extends Controller
|
||||||
private function validateNoteCreate(RequestAbstract $request) : array
|
private function validateNoteCreate(RequestAbstract $request) : array
|
||||||
{
|
{
|
||||||
$val = [];
|
$val = [];
|
||||||
if (($val['id'] = !$request->hasData('id'))
|
if (($val['ref'] = !$request->hasData('ref'))
|
||||||
) {
|
) {
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
@ -998,7 +998,12 @@ final class ApiController extends Controller
|
||||||
if (!$this->app->accountManager->get($accountId)->hasPermission(
|
if (!$this->app->accountManager->get($accountId)->hasPermission(
|
||||||
PermissionType::MODIFY, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::EXPENSE_NOTE, $request->getDataInt('id'))
|
PermissionType::MODIFY, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::EXPENSE_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;
|
$response->header->status = RequestStatusCode::R_403;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
@ -1026,7 +1031,12 @@ final class ApiController extends Controller
|
||||||
if (!$this->app->accountManager->get($accountId)->hasPermission(
|
if (!$this->app->accountManager->get($accountId)->hasPermission(
|
||||||
PermissionType::DELETE, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::EXPENSE_NOTE, $request->getDataInt('id'))
|
PermissionType::DELETE, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::EXPENSE_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;
|
$response->header->status = RequestStatusCode::R_403;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ echo $this->data['nav']->render(); ?>
|
||||||
<input type="radio" id="c-tab-2" name="tabular-2" checked>
|
<input type="radio" id="c-tab-2" name="tabular-2" checked>
|
||||||
<div class="tab col-simple">
|
<div class="tab col-simple">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<?= $this->data['media-upload']->render('item-file', 'files', '', $element->files); ?>
|
<?= $this->data['media-upload']->render('item-file', 'files', '', $element->files, '{/api}businessexpenses/expense/element/file?csrf={$CSRF}', (string) $element->id); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user