mirror of
https://github.com/Karaka-Management/oms-ContractManagement.git
synced 2026-02-13 17:08:41 +00:00
add account reference in order to assign a contract to an account
This commit is contained in:
parent
24c9ae4bcc
commit
eb184b72de
|
|
@ -67,6 +67,13 @@
|
||||||
"type": "TEXT",
|
"type": "TEXT",
|
||||||
"null": false
|
"null": false
|
||||||
},
|
},
|
||||||
|
"contractmgmt_contract_account": {
|
||||||
|
"name": "contractmgmt_contract_account",
|
||||||
|
"type": "INT",
|
||||||
|
"null": true,
|
||||||
|
"foreignTable": "account",
|
||||||
|
"foreignKey": "account_id"
|
||||||
|
},
|
||||||
"contractmgmt_contract_start": {
|
"contractmgmt_contract_start": {
|
||||||
"name": "contractmgmt_contract_start",
|
"name": "contractmgmt_contract_start",
|
||||||
"type": "DATETIME",
|
"type": "DATETIME",
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,7 @@ final class ApiController extends Controller
|
||||||
$contract->description = (string) ($request->getData('description') ?? '');
|
$contract->description = (string) ($request->getData('description') ?? '');
|
||||||
$contract->type = new NullContractType((int) ($request->getData('type') ?? 0));
|
$contract->type = new NullContractType((int) ($request->getData('type') ?? 0));
|
||||||
$contract->start = new \DateTime($request->getData('start') ?? 'now');
|
$contract->start = new \DateTime($request->getData('start') ?? 'now');
|
||||||
|
$contract->account = new NullAccount((int) $request->getData('account'));
|
||||||
|
|
||||||
if (!empty($request->getData('end'))) {
|
if (!empty($request->getData('end'))) {
|
||||||
$contract->end = new \DateTime($request->getData('end'));
|
$contract->end = new \DateTime($request->getData('end'));
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ namespace Modules\ContractManagement\Models;
|
||||||
|
|
||||||
use Modules\Media\Models\Media;
|
use Modules\Media\Models\Media;
|
||||||
use Modules\Media\Models\NullMedia;
|
use Modules\Media\Models\NullMedia;
|
||||||
|
use Modules\Admin\Models\Account;
|
||||||
|
use Modules\Admin\Models\NullAccount;
|
||||||
use phpOMS\Localization\Money;
|
use phpOMS\Localization\Money;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -58,6 +60,8 @@ class Contract
|
||||||
|
|
||||||
public ?int $responsible = null;
|
public ?int $responsible = null;
|
||||||
|
|
||||||
|
public Account $account;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created at.
|
* Created at.
|
||||||
*
|
*
|
||||||
|
|
@ -78,6 +82,7 @@ class Contract
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->createdAt = new \DateTimeImmutable('now');
|
$this->createdAt = new \DateTimeImmutable('now');
|
||||||
|
$this->account = new NullAccount();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ namespace Modules\ContractManagement\Models;
|
||||||
|
|
||||||
use Modules\Editor\Models\EditorDocMapper;
|
use Modules\Editor\Models\EditorDocMapper;
|
||||||
use Modules\Media\Models\MediaMapper;
|
use Modules\Media\Models\MediaMapper;
|
||||||
|
use Modules\Admin\Models\AccountMapper;
|
||||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -38,6 +39,7 @@ final class ContractMapper extends DataMapperAbstract
|
||||||
'contractmgmt_contract_id' => ['name' => 'contractmgmt_contract_id', 'type' => 'int', 'internal' => 'id'],
|
'contractmgmt_contract_id' => ['name' => 'contractmgmt_contract_id', 'type' => 'int', 'internal' => 'id'],
|
||||||
'contractmgmt_contract_title' => ['name' => 'contractmgmt_contract_title', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true],
|
'contractmgmt_contract_title' => ['name' => 'contractmgmt_contract_title', 'type' => 'string', 'internal' => 'title', 'autocomplete' => true],
|
||||||
'contractmgmt_contract_description' => ['name' => 'contractmgmt_contract_description', 'type' => 'string', 'internal' => 'description'],
|
'contractmgmt_contract_description' => ['name' => 'contractmgmt_contract_description', 'type' => 'string', 'internal' => 'description'],
|
||||||
|
'contractmgmt_contract_accouunt' => ['name' => 'contractmgmt_contract_accouunt', 'type' => 'int', 'internal' => 'accouunt'],
|
||||||
'contractmgmt_contract_costs' => ['name' => 'contractmgmt_contract_costs', 'type' => 'Serializable', 'internal' => 'costs'],
|
'contractmgmt_contract_costs' => ['name' => 'contractmgmt_contract_costs', 'type' => 'Serializable', 'internal' => 'costs'],
|
||||||
'contractmgmt_contract_duration' => ['name' => 'contractmgmt_contract_duration', 'type' => 'int', 'internal' => 'duration'],
|
'contractmgmt_contract_duration' => ['name' => 'contractmgmt_contract_duration', 'type' => 'int', 'internal' => 'duration'],
|
||||||
'contractmgmt_contract_warning' => ['name' => 'contractmgmt_contract_warning', 'type' => 'int', 'internal' => 'warning'],
|
'contractmgmt_contract_warning' => ['name' => 'contractmgmt_contract_warning', 'type' => 'int', 'internal' => 'warning'],
|
||||||
|
|
@ -83,6 +85,10 @@ final class ContractMapper extends DataMapperAbstract
|
||||||
'mapper' => ContractTypeMapper::class,
|
'mapper' => ContractTypeMapper::class,
|
||||||
'external' => 'contractmgmt_contract_type',
|
'external' => 'contractmgmt_contract_type',
|
||||||
],
|
],
|
||||||
|
'account' => [
|
||||||
|
'mapper' => AccountMapper::class,
|
||||||
|
'external' => 'contractmgmt_contract_account',
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,18 @@ echo $this->getData('nav')->render(); ?>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="wf-100"><?= $this->getHtml('Title'); ?>
|
<td class="wf-100"><?= $this->getHtml('Title'); ?>
|
||||||
|
<label for="contractList-sort-1">
|
||||||
|
<input type="radio" name="contractList-sort" id="contractList-sort-1">
|
||||||
|
<i class="sort-asc fa fa-chevron-up"></i>
|
||||||
|
</label>
|
||||||
|
<label for="contractList-sort-2">
|
||||||
|
<input type="radio" name="contractList-sort" id="contractList-sort-2">
|
||||||
|
<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('Account'); ?>
|
||||||
<label for="contractList-sort-3">
|
<label for="contractList-sort-3">
|
||||||
<input type="radio" name="contractList-sort" id="contractList-sort-3">
|
<input type="radio" name="contractList-sort" id="contractList-sort-3">
|
||||||
<i class="sort-asc fa fa-chevron-up"></i>
|
<i class="sort-asc fa fa-chevron-up"></i>
|
||||||
|
|
@ -48,12 +60,12 @@ echo $this->getData('nav')->render(); ?>
|
||||||
<i class="filter fa fa-filter"></i>
|
<i class="filter fa fa-filter"></i>
|
||||||
</label>
|
</label>
|
||||||
<td><?= $this->getHtml('End'); ?>
|
<td><?= $this->getHtml('End'); ?>
|
||||||
<label for="contractList-sort-3">
|
<label for="contractList-sort-5">
|
||||||
<input type="radio" name="contractList-sort" id="contractList-sort-3">
|
<input type="radio" name="contractList-sort" id="contractList-sort-5">
|
||||||
<i class="sort-asc fa fa-chevron-up"></i>
|
<i class="sort-asc fa fa-chevron-up"></i>
|
||||||
</label>
|
</label>
|
||||||
<label for="contractList-sort-4">
|
<label for="contractList-sort-6">
|
||||||
<input type="radio" name="contractList-sort" id="contractList-sort-4">
|
<input type="radio" name="contractList-sort" id="contractList-sort-6">
|
||||||
<i class="sort-desc fa fa-chevron-down"></i>
|
<i class="sort-desc fa fa-chevron-down"></i>
|
||||||
</label>
|
</label>
|
||||||
<label>
|
<label>
|
||||||
|
|
@ -76,6 +88,7 @@ echo $this->getData('nav')->render(); ?>
|
||||||
?>
|
?>
|
||||||
<tr tabindex="0" data-href="<?= $url; ?>">
|
<tr tabindex="0" data-href="<?= $url; ?>">
|
||||||
<td data-label="<?= $this->getHtml('Title'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->title); ?></a>
|
<td data-label="<?= $this->getHtml('Title'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->title); ?></a>
|
||||||
|
<td class="content" data-label="<?= $this->getHtml('Account'); ?>"><a href="<?= UriFactory::build('{/prefix}profile/single?{?}&for=' . $value->account->getId()); ?>"><?= $this->printHtml($value->account->name1); ?> <?= $this->printHtml($value->account->name2); ?></a>
|
||||||
<td data-label="<?= $this->getHtml('End'); ?>"><a href="<?= $url; ?>"><span class="tag <?= $type; ?>"><?= $value->end !== null ? $value->end->format('Y-m-d') : ''; ?></span></a>
|
<td data-label="<?= $this->getHtml('End'); ?>"><a href="<?= $url; ?>"><span class="tag <?= $type; ?>"><?= $value->end !== null ? $value->end->format('Y-m-d') : ''; ?></span></a>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user