mirror of
https://github.com/Karaka-Management/oms-InvestmentManagement.git
synced 2026-01-11 11:48:41 +00:00
continue impl.
This commit is contained in:
parent
9cd68d4459
commit
b615a3bcb0
|
|
@ -5,7 +5,7 @@
|
|||
"type": 2,
|
||||
"subtype": 1,
|
||||
"name": "Investments",
|
||||
"uri": "{/base}finance/investment/list?{?}",
|
||||
"uri": "{/base}/finance/investment/list?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 1,
|
||||
|
|
@ -18,8 +18,8 @@
|
|||
"pid": "/finance/investment",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Dashboard",
|
||||
"uri": "{/base}finance/investment/list?{?}",
|
||||
"name": "List",
|
||||
"uri": "{/base}/finance/investment/list?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 1,
|
||||
|
|
@ -27,6 +27,21 @@
|
|||
"permission": { "permission": 2, "type": null, "element": null },
|
||||
"parent": 1007101001,
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"id": 1007102002,
|
||||
"pid": "/finance/investment",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Create",
|
||||
"uri": "{/base}/finance/investment/create?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 5,
|
||||
"from": "InvestmentManagement",
|
||||
"permission": { "permission": 2, "type": null, "element": null },
|
||||
"parent": 1007101001,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -35,7 +50,7 @@
|
|||
"pid": "/",
|
||||
"type": 2,
|
||||
"subtype": 1,
|
||||
"name": "PurchaseInquiries",
|
||||
"name": "InvestmentInquiries",
|
||||
"uri": "{/base}/private/investment/list?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
|
|
|
|||
|
|
@ -75,6 +75,8 @@
|
|||
"investmgmt_investment_type": {
|
||||
"name": "investmgmt_investment_type",
|
||||
"type": "INT",
|
||||
"null": true,
|
||||
"default": null,
|
||||
"foreignTable": "investmgmt_investment_type",
|
||||
"foreignKey": "investmgmt_investment_type_id"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use phpOMS\Account\PermissionType;
|
|||
use phpOMS\Router\RouteVerb;
|
||||
|
||||
return [
|
||||
'^.*/controlling/investment/list.*$' => [
|
||||
'^.*/finance/investment/list.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\InvestmentManagement\Controller\BackendController:viewInvestmentList',
|
||||
'verb' => RouteVerb::GET,
|
||||
|
|
@ -17,7 +17,7 @@ return [
|
|||
],
|
||||
],
|
||||
],
|
||||
'^.*/controlling/investment/single.*$' => [
|
||||
'^.*/finance/investment/single.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\InvestmentManagement\Controller\BackendController:viewInvestmentSingle',
|
||||
'verb' => RouteVerb::GET,
|
||||
|
|
@ -28,7 +28,7 @@ return [
|
|||
],
|
||||
],
|
||||
],
|
||||
'^.*/controlling/investment/create.*$' => [
|
||||
'^.*/finance/investment/create.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\InvestmentManagement\Controller\BackendController:viewInvestmentCreate',
|
||||
'verb' => RouteVerb::GET,
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ final class ApiController extends Controller
|
|||
$investment->name = $request->getDataString('name') ?? '';
|
||||
$investment->description = $request->getDataString('description') ?? '';
|
||||
$investment->status = (int) ($request->getDataInt('status') ?? InvestmentStatus::DRAFT);
|
||||
$investment->type = new NullBaseStringL11nType((int) ($request->getDataInt('type') ?? 0));
|
||||
//$investment->type = new NullBaseStringL11nType((int) ($request->getDataInt('type') ?? 0));
|
||||
$investment->description = $request->getDataString('description') ?? '';
|
||||
$investment->unit = $request->getDataInt('unit') ?? $this->app->unitId;
|
||||
$investment->createdBy = new NullAccount($request->header->account);
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\InvestmentManagement\Controller;
|
||||
|
||||
use Modules\InvestmentManagement\Models\InvestmentMapper;
|
||||
use phpOMS\Contract\RenderableInterface;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
|
|
@ -45,7 +46,14 @@ final class BackendController extends Controller
|
|||
{
|
||||
$view = new View($this->app->l11nManager, $request, $response);
|
||||
$view->setTemplate('/Modules/InvestmentManagement/Theme/Backend/investment-list');
|
||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1004601001, $request, $response);
|
||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007101001, $request, $response);
|
||||
|
||||
$list = InvestmentMapper::getAll()
|
||||
->with('createdBy')
|
||||
->sort('id', 'DESC')
|
||||
->execute();
|
||||
|
||||
$view->data['investments'] = $list;
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
@ -66,7 +74,7 @@ final class BackendController extends Controller
|
|||
{
|
||||
$view = new View($this->app->l11nManager, $request, $response);
|
||||
$view->setTemplate('/Modules/InvestmentManagement/Theme/Backend/investment-create');
|
||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1004601001, $request, $response);
|
||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007101001, $request, $response);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
@ -87,7 +95,7 @@ final class BackendController extends Controller
|
|||
{
|
||||
$view = new View($this->app->l11nManager, $request, $response);
|
||||
$view->setTemplate('/Modules/InvestmentManagement/Theme/Backend/investment-create');
|
||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1004601001, $request, $response);
|
||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007101001, $request, $response);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class Investment
|
|||
|
||||
public int $status = InvestmentStatus::DRAFT;
|
||||
|
||||
public BaseStringL11nType $type;
|
||||
public ?BaseStringL11nType $type = null;
|
||||
|
||||
public array $options = [];
|
||||
|
||||
|
|
@ -68,7 +68,6 @@ class Investment
|
|||
$this->createdBy = new NullAccount();
|
||||
$this->createdAt = new \DateTimeImmutable('now');
|
||||
$this->performanceDate = new \DateTime('now');
|
||||
$this->type = new BaseStringL11nType();
|
||||
}
|
||||
|
||||
use \Modules\Media\Models\MediaListTrait;
|
||||
|
|
|
|||
|
|
@ -13,6 +13,6 @@
|
|||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'PurchaseInquiries' => 'Purchase Inquiries',
|
||||
'InvestmentInquiries' => 'Investment Inquiries',
|
||||
'Investments' => 'Investments',
|
||||
]];
|
||||
|
|
|
|||
|
|
@ -13,4 +13,10 @@
|
|||
declare(strict_types=1);
|
||||
|
||||
return ['InvestmentManagement' => [
|
||||
'Investment' => 'Investment',
|
||||
'Investments' => 'Investments',
|
||||
':status1' => 'Draft',
|
||||
':status2' => 'Open',
|
||||
':status3' => 'Approved',
|
||||
':status4' => 'Denied',
|
||||
]];
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\HumanResourceTimeRecording
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
echo $this->data['nav']->render();
|
||||
99
Theme/Backend/investment-list.tpl.php
Normal file
99
Theme/Backend/investment-list.tpl.php
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
<?php
|
||||
/**
|
||||
* Jingga
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\HumanResourceTimeRecording
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 2.0
|
||||
* @version 1.0.0
|
||||
* @link https://orange-management.org
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
use phpOMS\Uri\UriFactory;
|
||||
|
||||
/** @var \phpOMS\Views\View $this */
|
||||
$investments = $this->data['investments'] ?? [];
|
||||
|
||||
echo $this->data['nav']->render(); ?>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Investments'); ?><i class="lni lni-download download btn end-xs"></i></div>
|
||||
<div class="slider">
|
||||
<table id="iSalesClientList" class="default sticky">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>
|
||||
<td><?= $this->getHtml('ID', '0', '0'); ?>
|
||||
<label for="iSalesClientList-sort-1">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-1">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-2">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-2">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<td><?= $this->getHtml('Status'); ?>
|
||||
<label for="iSalesClientList-sort-3">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-3">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-4">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-4">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<td class="wf-100"><?= $this->getHtml('Name'); ?>
|
||||
<label for="iSalesClientList-sort-5">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-5">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-6">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-6">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<td><?= $this->getHtml('Creator'); ?>
|
||||
<label for="iSalesClientList-sort-7">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-7">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-8">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-8">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<tbody>
|
||||
<?php
|
||||
$count = 0;
|
||||
foreach ($investments as $key => $value) :
|
||||
++$count;
|
||||
$url = UriFactory::build('{/base}/finance/investment/profile?{?}&id=' . $value->id);
|
||||
?>
|
||||
<tr data-href="<?= $url; ?>">
|
||||
<td>
|
||||
<td data-label="<?= $this->getHtml('ID', '0', '0'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml((string) $value->id); ?></a>
|
||||
<td data-label="<?= $this->getHtml('Status'); ?>"><a href="<?= $url; ?>"><?= $this->getHtml(':status' . $value->status); ?></a>
|
||||
<td data-label="<?= $this->getHtml('Title'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->name); ?></a>
|
||||
<td data-label="<?= $this->getHtml('Creator'); ?>"><a class="content" href="<?= UriFactory::build('{/base}/profile/single?{?}&for=' . $value->createdBy->id); ?>"><?= $this->printHtml($this->renderUserName('%3$s %2$s %1$s', [$value->createdBy->name1, $value->createdBy->name2, $value->createdBy->name3, $value->createdBy->login ?? ''])); ?></a>
|
||||
<?php endforeach; ?>
|
||||
<?php if ($count === 0) : ?>
|
||||
<tr><td colspan="8" class="empty"><?= $this->getHtml('Empty', '0', '0'); ?>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in New Issue
Block a user