mirror of
https://github.com/Karaka-Management/oms-ContractManagement.git
synced 2026-01-11 01:28:40 +00:00
bug fixes
This commit is contained in:
parent
72c2e76ccd
commit
b6dbecac42
|
|
@ -84,7 +84,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');
|
||||
|
||||
$module->apiContractTypeCreate($request, $response);
|
||||
|
|
@ -111,9 +111,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->apiContractTypeL11nCreate($request, $response);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,6 +43,31 @@ return [
|
|||
],
|
||||
],
|
||||
|
||||
'^.*/contract/type/l11n(\?.*|$)$' => [
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiContractTypeController:apiContractTypeL11nCreate',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'csrf' => true,
|
||||
'active' => true,
|
||||
'permission' => [
|
||||
'module' => Controller::NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionCategory::ATTRIBUTE,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiContractTypeController:apiContractTypeL11nUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
'csrf' => true,
|
||||
'active' => true,
|
||||
'permission' => [
|
||||
'module' => Controller::NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionCategory::ATTRIBUTE,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'^.*/contract(\?.*|$)$' => [
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiController:apiContractCreate',
|
||||
|
|
@ -68,6 +93,56 @@ return [
|
|||
],
|
||||
],
|
||||
|
||||
'^.*/contract/file(\?.*|$)$' => [
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiController:apiContractDocumentCreate',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'csrf' => true,
|
||||
'active' => true,
|
||||
'permission' => [
|
||||
'module' => Controller::NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionCategory::CONTRACT,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'^.*/contract/note(\?.*|$)$' => [
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiController:apiNoteCreate',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'csrf' => true,
|
||||
'active' => true,
|
||||
'permission' => [
|
||||
'module' => Controller::NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionCategory::CONTRACT,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiController:apiNoteUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
'csrf' => true,
|
||||
'active' => true,
|
||||
'permission' => [
|
||||
'module' => Controller::NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionCategory::CONTRACT,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiController:apiNoteDelete',
|
||||
'verb' => RouteVerb::DELETE,
|
||||
'csrf' => true,
|
||||
'active' => true,
|
||||
'permission' => [
|
||||
'module' => Controller::NAME,
|
||||
'type' => PermissionType::DELETE,
|
||||
'state' => PermissionCategory::CONTRACT,
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
'^.*/contract/attribute(\?.*$|$)' => [
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiAttributeController:apiContractAttributeCreate',
|
||||
|
|
@ -92,4 +167,29 @@ return [
|
|||
],
|
||||
],
|
||||
],
|
||||
|
||||
'^.*/contract/attribute/type/l11n(\?.*|$)$' => [
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiAttributeController:apiContractAttributeTypeL11nCreate',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'csrf' => true,
|
||||
'active' => true,
|
||||
'permission' => [
|
||||
'module' => Controller::NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionCategory::ATTRIBUTE,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\ContractManagement\Controller\ApiAttributeController:apiContractAttributeTypeL11nUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
'csrf' => true,
|
||||
'active' => true,
|
||||
'permission' => [
|
||||
'module' => Controller::NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionCategory::ATTRIBUTE,
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ final class ApiContractTypeController extends Controller
|
|||
{
|
||||
$contractType = new BaseStringL11nType();
|
||||
$contractType->setL11n(
|
||||
$request->getDataString('title') ?? '',
|
||||
$request->getDataString('content') ?? '',
|
||||
ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? ISO639x1Enum::_EN
|
||||
);
|
||||
$contractType->title = $request->getDataString('name') ?? '';
|
||||
|
|
@ -94,7 +94,7 @@ final class ApiContractTypeController extends Controller
|
|||
private function validateContractTypeCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['title'] = !$request->hasData('title'))
|
||||
if (($val['content'] = !$request->hasData('content'))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
|
@ -141,9 +141,9 @@ final class ApiContractTypeController extends Controller
|
|||
private function createContractTypeL11nFromRequest(RequestAbstract $request) : BaseStringL11n
|
||||
{
|
||||
$contractTypeL11n = new BaseStringL11n();
|
||||
$contractTypeL11n->ref = $request->getDataInt('type') ?? 0;
|
||||
$contractTypeL11n->ref = $request->getDataInt('ref') ?? 0;
|
||||
$contractTypeL11n->language = ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? $request->header->l11n->language;
|
||||
$contractTypeL11n->content = $request->getDataString('title') ?? '';
|
||||
$contractTypeL11n->content = $request->getDataString('content') ?? '';
|
||||
|
||||
return $contractTypeL11n;
|
||||
}
|
||||
|
|
@ -160,8 +160,8 @@ final class ApiContractTypeController extends Controller
|
|||
private function validateContractTypeL11nCreate(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;
|
||||
}
|
||||
|
|
@ -329,7 +329,7 @@ final class ApiContractTypeController extends Controller
|
|||
public function updateContractTypeL11nFromRequest(RequestAbstract $request, BaseStringL11n $new) : BaseStringL11n
|
||||
{
|
||||
$new->language = ISO639x1Enum::tryFromValue($request->getDataString('language')) ?? $new->language;
|
||||
$new->content = $request->getDataString('title') ?? $new->content;
|
||||
$new->content = $request->getDataString('content') ?? $new->content;
|
||||
|
||||
return $new;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,7 +86,6 @@ final class ApiController extends Controller
|
|||
{
|
||||
$val = [];
|
||||
if (($val['title'] = !$request->hasData('title'))
|
||||
|| ($val['duration'] = !$request->hasData('duration'))
|
||||
|| ($val['type'] = !$request->hasData('type'))
|
||||
) {
|
||||
return $val;
|
||||
|
|
@ -161,7 +160,7 @@ final class ApiController extends Controller
|
|||
|
||||
/** @var \Modules\ContractManagement\Models\Contract */
|
||||
$contract = ContractMapper::get()
|
||||
->where('id', $request->getDataInt('contract'))
|
||||
->where('id', $request->getDataInt('ref'))
|
||||
->execute();
|
||||
|
||||
$path = $this->createContractDir($contract);
|
||||
|
|
@ -337,7 +336,7 @@ final class ApiController extends Controller
|
|||
return;
|
||||
}
|
||||
|
||||
$request->setData('virtualpath', '/Modules/ContractManagement/Contracts/' . $request->getData('id'), true);
|
||||
$request->setData('virtualpath', '/Modules/ContractManagement/Contracts/' . $request->getData('ref'), true);
|
||||
$this->app->moduleManager->get('Editor', 'Api')->apiEditorCreate($request, $response, $data);
|
||||
|
||||
if ($response->header->status !== RequestStatusCode::R_200) {
|
||||
|
|
@ -350,7 +349,7 @@ final class ApiController extends Controller
|
|||
}
|
||||
|
||||
$model = $responseData['response'];
|
||||
$this->createModelRelation($request->header->account, (int) $request->getData('id'), $model->id, ContractMapper::class, 'notes', '', $request->getOrigin());
|
||||
$this->createModelRelation($request->header->account, (int) $request->getData('ref'), $model->id, ContractMapper::class, 'notes', '', $request->getOrigin());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -365,7 +364,7 @@ final class ApiController extends Controller
|
|||
private function validateNoteCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (($val['id'] = !$request->hasData('id'))
|
||||
if (($val['ref'] = !$request->hasData('ref'))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
|
@ -392,7 +391,12 @@ final class ApiController extends Controller
|
|||
if (!$this->app->accountManager->get($accountId)->hasPermission(
|
||||
PermissionType::MODIFY, $this->app->unitId, $this->app->appId, self::NAME, PermissionCategory::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;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@ echo $this->data['nav']->render(); ?>
|
|||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Contracts'); ?><i class="g-icon download btn end-xs">download</i></div>
|
||||
<div class="portlet-head"><?= $this->getHtml('Contracts'); ?>
|
||||
<a class="button end-xs save" href="<?= UriFactory::build('{/base}/contract/create'); ?>"><?= $this->getHtml('New', '0', '0'); ?></a>
|
||||
</div>
|
||||
<div class="slider">
|
||||
<table id="contractList" class="default sticky">
|
||||
<thead>
|
||||
|
|
@ -79,20 +81,25 @@ echo $this->data['nav']->render(); ?>
|
|||
$url = UriFactory::build('{/base}/contract/view?{?}&id=' . $value->id);
|
||||
|
||||
$type = 'ok';
|
||||
if (($value->end->getTimestamp() < $now->getTimestamp() && $value->end->getTimestamp() + 7776000 > $now->getTimestamp())
|
||||
|| ($value->end->getTimestamp() > $now->getTimestamp() && $value->end->getTimestamp() - 7776000 < $now->getTimestamp())
|
||||
) {
|
||||
$type = 'error';
|
||||
} elseif ($value->end->getTimestamp() < $now->getTimestamp()) {
|
||||
$type = 'info';
|
||||
} elseif ($value->end->getTimestamp() + 7776000 < $now->getTimestamp()) {
|
||||
$type = 'warning';
|
||||
if ($value->end !== null) {
|
||||
if (($value->end->getTimestamp() < $now->getTimestamp() && $value->end->getTimestamp() + 7776000 > $now->getTimestamp())
|
||||
|| ($value->end->getTimestamp() > $now->getTimestamp() && $value->end->getTimestamp() - 7776000 < $now->getTimestamp())
|
||||
) {
|
||||
$type = 'error';
|
||||
} elseif ($value->end->getTimestamp() < $now->getTimestamp()) {
|
||||
$type = 'info';
|
||||
} elseif ($value->end->getTimestamp() + 7776000 < $now->getTimestamp()) {
|
||||
$type = 'warning';
|
||||
}
|
||||
}
|
||||
?>
|
||||
<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('Account'); ?>"><a class="content" href="<?= UriFactory::build('{/base}/profile/view?{?}&for=' . $value->account->id); ?>"><?= $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'); ?>">
|
||||
<?php if ($value->end !== null) : ?>
|
||||
<a href="<?= $url; ?>"><span class="tag <?= $type; ?>"><?= $value->end !== null ? $value->end->format('Y-m-d') : ''; ?></span></a>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php if ($count === 0) : ?>
|
||||
<tr><td colspan="3" class="empty"><?= $this->getHtml('Empty', '0', '0'); ?>
|
||||
|
|
|
|||
|
|
@ -24,7 +24,9 @@ echo $this->data['nav']->render(); ?>
|
|||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="portlet">
|
||||
<form id="materialForm" method="<?= $isNew ? 'PUT' : 'POST'; ?>" action="<?= UriFactory::build('{/api}contract/type?csrf={$CSRF}'); ?>">
|
||||
<form id="materialForm" method="<?= $isNew ? 'PUT' : 'POST'; ?>"
|
||||
action="<?= UriFactory::build('{/api}contract/type?csrf={$CSRF}'); ?>"
|
||||
<?= $isNew ? 'data-redirect="' . UriFactory::build('{/base}/contract/type/view') . '?id={/0/response/id}"' : ''; ?>>
|
||||
<div class="portlet-head"><?= $this->getHtml('ContractType'); ?></div>
|
||||
<div class="portlet-body">
|
||||
<div class="form-group">
|
||||
|
|
@ -51,7 +53,8 @@ echo $this->data['nav']->render(); ?>
|
|||
<?= $this->data['l11nView']->render(
|
||||
$this->data['l11nValues'],
|
||||
[],
|
||||
'{/api}contract/type/l11n?csrf={$CSRF}'
|
||||
'{/api}contract/type/l11n?csrf={$CSRF}',
|
||||
(string) $type->id
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@ echo $this->data['nav']->render(); ?>
|
|||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="portlet">
|
||||
<form id="iContractForm"
|
||||
method="<?= $isNew ? 'PUT' : 'POST'; ?>"
|
||||
action="<?= UriFactory::build('{/api}contract?csrf={$CSRF}'); ?>"
|
||||
<?= $isNew ? 'data-redirect="' . UriFactory::build('{/base}/contract/view') . '?id={/0/response/id}"' : ''; ?>>
|
||||
<div class="portlet-head"><?= $this->getHtml('Contract'); ?></div>
|
||||
<div class="portlet-body">
|
||||
<div class="form-group">
|
||||
|
|
@ -113,6 +117,7 @@ echo $this->data['nav']->render(); ?>
|
|||
<div class="portlet-foot">
|
||||
<input type="Submit" value="<?= $this->getHtml('Save', '0', '0'); ?>">
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -121,12 +126,12 @@ echo $this->data['nav']->render(); ?>
|
|||
<?php if (!$isNew) : ?>
|
||||
<input type="radio" id="c-tab-2" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-2' ? ' checked' : ''; ?>>
|
||||
<div class="tab col-simple">
|
||||
<?= $this->data['media-upload']->render('contract-file', 'files', '', $contract->files); ?>
|
||||
<?= $this->data['media-upload']->render('contract-file', 'files', '', $contract->files, '{/api}contract/file?csrf={$CSRF}', (string) $contract->id); ?>
|
||||
</div>
|
||||
|
||||
<input type="radio" id="c-tab-3" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-3' ? ' checked' : ''; ?>>
|
||||
<div class="tab col-simple">
|
||||
<?= $this->data['note']->render('contract-note', 'notes', $contract->notes); ?>
|
||||
<?= $this->data['note']->render('contract-note', 'notes', $contract->notes, '{/api}contract/note?csrf={$CSRF}', (string) $contract->id); ?>
|
||||
</div>
|
||||
|
||||
<input type="radio" id="c-tab-4" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-4' ? ' checked' : ''; ?>>
|
||||
|
|
|
|||
|
|
@ -50,8 +50,8 @@ trait ApiControllerAttributeTrait
|
|||
$request = new HttpRequest();
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('title', 'DE:2');
|
||||
$request->setData('type', '1');
|
||||
$request->setData('content', 'DE:2');
|
||||
$request->setData('ref', '1');
|
||||
$request->setData('language', ISO639x1Enum::_DE);
|
||||
|
||||
$this->attrModule->apiContractAttributeTypeL11nCreate($request, $response);
|
||||
|
|
|
|||
|
|
@ -64,8 +64,8 @@ trait ApiControllerContractTypeTrait
|
|||
$request = new HttpRequest();
|
||||
|
||||
$request->header->account = 1;
|
||||
$request->setData('title', 'Test');
|
||||
$request->setData('type', '1');
|
||||
$request->setData('content', 'Test');
|
||||
$request->setData('ref', '1');
|
||||
$request->setData('language', ISO639x1Enum::_DE);
|
||||
|
||||
$this->typeModule->apiContractTypeL11nCreate($request, $response);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user