auto fixes + some impl.

This commit is contained in:
Dennis Eichhorn 2024-01-26 22:53:59 +00:00
parent f6702a6f9a
commit 21f2c576d2
11 changed files with 147 additions and 121 deletions

View File

@ -21,7 +21,6 @@ use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\HttpResponse; use phpOMS\Message\Http\HttpResponse;
use phpOMS\Module\InstallerAbstract; use phpOMS\Module\InstallerAbstract;
use phpOMS\Module\ModuleInfo; use phpOMS\Module\ModuleInfo;
use phpOMS\Uri\HttpUri;
/** /**
* Installer class. * Installer class.
@ -72,7 +71,7 @@ final class Installer extends InstallerAbstract
} }
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('code', \strtolower(\basename($file))); $request->setData('code', \strtolower(\basename($file)));
@ -86,21 +85,18 @@ final class Installer extends InstallerAbstract
: $responseData['response']->toArray(); : $responseData['response']->toArray();
$json = \json_decode(\file_get_contents(__DIR__ . '/Install/Coa/' . $file), true); $json = \json_decode(\file_get_contents(__DIR__ . '/Install/Coa/' . $file), true);
self::createElement($module, $json, (int) $incomeStatement['id'], null);
foreach ($json as $element) {
self::createElement($module, [$element], (int) $incomeStatement['id'], null);
}
} }
} }
private static function createElement(ApiController $module, array $elements, int $structure, int $parent = null) private static function createElement(ApiController $module, array $elements, int $structure, ?int $parent = null) : void
{ {
$order = 0; $order = 0;
foreach ($elements as $element) { foreach ($elements as $element) {
++$order; ++$order;
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('code', $element['name']); $request->setData('code', $element['name']);
@ -131,7 +127,7 @@ final class Installer extends InstallerAbstract
} }
$response = new HttpResponse(); $response = new HttpResponse();
$request = new HttpRequest(new HttpUri('')); $request = new HttpRequest();
$request->header->account = 1; $request->header->account = 1;
$request->setData('title', $l11n); $request->setData('title', $l11n);

View File

@ -6,7 +6,7 @@ use phpOMS\Account\PermissionType;
use phpOMS\Router\RouteVerb; use phpOMS\Router\RouteVerb;
return [ return [
'^.*/controlling/pl/dashboard.*$' => [ '^.*/controlling/pl/dashboard(\?.*$|$)' => [
[ [
'dest' => '\Modules\IncomeStatement\Controller\BackendController:viewPLDashboard', 'dest' => '\Modules\IncomeStatement\Controller\BackendController:viewPLDashboard',
'verb' => RouteVerb::GET, 'verb' => RouteVerb::GET,

View File

@ -21,7 +21,6 @@ use Modules\IncomeStatement\Models\IncomeStatementElementMapper;
use Modules\IncomeStatement\Models\IncomeStatementMapper; use Modules\IncomeStatement\Models\IncomeStatementMapper;
use phpOMS\Localization\BaseStringL11n; use phpOMS\Localization\BaseStringL11n;
use phpOMS\Localization\ISO639x1Enum; use phpOMS\Localization\ISO639x1Enum;
use phpOMS\Message\Http\HttpResponse;
use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\Http\RequestStatusCode;
use phpOMS\Message\RequestAbstract; use phpOMS\Message\RequestAbstract;
use phpOMS\Message\ResponseAbstract; use phpOMS\Message\ResponseAbstract;
@ -166,8 +165,12 @@ final class ApiController extends Controller
$element->code = $request->getDataString('code') ?? ''; $element->code = $request->getDataString('code') ?? '';
$element->incomeStatement = $request->getDataInt('pl') ?? 0; $element->incomeStatement = $request->getDataInt('pl') ?? 0;
$element->order = $request->getDataInt('order') ?? 0; $element->order = $request->getDataInt('order') ?? 0;
$element->parent = $request->getDataInt('parent');
$element->setL11n($request->getDataString('content') ?? '', $request->getDataString('language') ?? ISO639x1Enum::_EN); $element->setL11n(
$request->getDataString('content') ?? '',
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
);
return $element; return $element;
} }
@ -212,9 +215,7 @@ final class ApiController extends Controller
{ {
$elementL11n = new BaseStringL11n(); $elementL11n = new BaseStringL11n();
$elementL11n->ref = $request->getDataInt('ref') ?? 0; $elementL11n->ref = $request->getDataInt('ref') ?? 0;
$elementL11n->setLanguage( $elementL11n->language = ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? $request->header->l11n->language;
$request->getDataString('language') ?? $request->header->l11n->language
);
$elementL11n->content = $request->getDataString('content') ?? ''; $elementL11n->content = $request->getDataString('content') ?? '';
return $elementL11n; return $elementL11n;

View File

@ -38,7 +38,9 @@ class IncomeStatementElement
public string $code = ''; public string $code = '';
public int $type = 0; public int $type = 0;
public string $formula = ''; public string $formula = '';
public int $order = 0; public int $order = 0;
public int $incomeStatement = 0; public int $incomeStatement = 0;
@ -69,11 +71,11 @@ class IncomeStatementElement
$this->l11n = $l11n; $this->l11n = $l11n;
} elseif (isset($this->l11n) && $this->l11n instanceof BaseStringL11n) { } elseif (isset($this->l11n) && $this->l11n instanceof BaseStringL11n) {
$this->l11n->content = $l11n; $this->l11n->content = $l11n;
$this->l11n->setLanguage($lang); $this->l11n->language = $lang;
} else { } else {
$this->l11n = new BaseStringL11n(); $this->l11n = new BaseStringL11n();
$this->l11n->content = $l11n; $this->l11n->content = $l11n;
$this->l11n->setLanguage($lang); $this->l11n->language = $lang;
} }
} }

View File

@ -57,7 +57,7 @@ final class IncomeStatementElementMapper extends DataMapperFactory
'self' => 'incomestmt_pl_element_l11n_element', 'self' => 'incomestmt_pl_element_l11n_element',
'column' => 'content', 'column' => 'content',
'external' => null, 'external' => null,
] ],
]; ];
/** /**

View File

@ -12,14 +12,71 @@
*/ */
declare(strict_types=1); declare(strict_types=1);
function render_elements(array $elements, ?int $parent = null) : string
{
$row = '';
$fn = 'render_elements';
foreach ($elements as $element) {
if ($element->parent !== $parent) {
continue;
}
$row .= <<<ROW
<div>
<div style="display: flex; flex-direction: row; align-items: center; background: #ff000099;">
<div style="flex: 0; width: 30px; min-width: 30px; padding: 1px;"><label for="iElement{$element->id}-expand" class="btn"><i class="g-icon">add_circle</i></label></div>
<div style="flex: 0; width: 150px; min-width: 150px; box-sizing: border-box; padding-left: 0px;">{$element->getL11n()}</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
</div>
<input id="iElement{$element->id}-expand" type="checkbox" class="hidden">
<div class="checked-visibility">
{$fn($elements, $element->id)}
</div>
</div>
ROW;
}
return $row;
}
echo $this->data['nav']->render(); echo $this->data['nav']->render();
?> ?>
<div class="row" style="font-size: 0.8rem;">
<div class="row" style="font-size: 0.8rem; margin-top: 1rem;">
<div class="col-xs-12"> <div class="col-xs-12">
<div style="background: #ff00ff99;"> <div style="background: #ff00ff99;">
<div style="display: flex; flex-direction: row; align-items: center;"> <div style="display: flex; flex-direction: row; align-items: center;">
<div style="flex: 1; text-align: center;"></div> <div style="flex: 0; width: 30px; min-width: 30px; text-align: center;"></div>
<div style="box-sizing: border-box; width: 150px; text-align: center;">Category</div> <div style="flex: 0; width: 150px; min-width: 150px; box-sizing: border-box; text-align: center;">Category</div>
<div style="flex: 1; text-align: center;">1</div> <div style="flex: 1; text-align: center;">1</div>
<div style="flex: 1; text-align: center;">2</div> <div style="flex: 1; text-align: center;">2</div>
<div style="flex: 1; text-align: center;">3</div> <div style="flex: 1; text-align: center;">3</div>
@ -53,49 +110,8 @@ echo $this->data['nav']->render();
</div> </div>
</div> </div>
<?php
foreach ($this->data['elements'] as $element) :
if ($element->parent !== null) {
continue;
}
?>
<div class="row" style="font-size: 0.8rem;"> <div class="row" style="font-size: 0.8rem;">
<div class="col-xs-12"> <div class="col-xs-12">
<div style="display: flex; flex-direction: row; align-items: center; background: #ff000099;"> <?= \render_elements($this->data['elements'], null); ?>
<div style="flex: 1; padding: 1px;"><label for="iSegment1-expand" class="btn"><i class="g-icon">add_circle</i></label></div>
<div style="box-sizing: border-box; width: 120px; padding-left: 0px;"><?= $this->printHtml($element->getL11n()); ?></div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
<div style="flex: 1; padding: 1px;">+0.00%</div>
</div>
<!-- Input here -->
<!-- Child here -->
</div> </div>
</div> </div>
<?php endforeach; ?>

View File

@ -1,4 +1,15 @@
<?php <?php
/**
* Jingga
*
* PHP Version 8.1
*
* @package Modules\IncomeStatement\tests
* @copyright Dennis Eichhorn
* @license OMS License 2.0
* @version 1.0.0
* @link https://jingga.app
*/
declare(strict_types=1); declare(strict_types=1);
\ini_set('memory_limit', '2048M'); \ini_set('memory_limit', '2048M');