This commit is contained in:
Dennis Eichhorn 2024-04-12 00:52:06 +00:00
parent 60d96c5d23
commit 8cef004fa3
3 changed files with 28 additions and 54 deletions

View File

@ -5,7 +5,7 @@
"type": 2,
"subtype": 1,
"name": "Contract",
"uri": "{/base}/contract/list?{?}",
"uri": "{/base}/contract/list",
"target": "self",
"icon": null,
"order": 45,
@ -19,7 +19,7 @@
"type": 3,
"subtype": 1,
"name": "Contracts",
"uri": "{/base}/contract/list?{?}",
"uri": "{/base}/contract/list",
"target": "self",
"icon": null,
"order": 1,
@ -34,7 +34,7 @@
"type": 3,
"subtype": 1,
"name": "ContractTypes",
"uri": "{/base}/contract/type/list?{?}",
"uri": "{/base}/contract/type/list",
"target": "self",
"icon": null,
"order": 1,
@ -49,7 +49,7 @@
"type": 3,
"subtype": 1,
"name": "Attributes",
"uri": "{/base}/contract/attribute/type/list?{?}",
"uri": "{/base}/contract/attribute/type/list",
"target": "self",
"icon": null,
"order": 1,

View File

@ -18,7 +18,6 @@ use Modules\Admin\Models\NullAccount;
use Modules\ContractManagement\Models\Contract;
use Modules\ContractManagement\Models\ContractMapper;
use Modules\ContractManagement\Models\PermissionCategory;
use Modules\Media\Models\MediaMapper;
use Modules\Media\Models\PathSettings;
use Modules\Organization\Models\NullUnit;
use phpOMS\Account\PermissionType;
@ -144,11 +143,9 @@ final class ApiController extends Controller
*/
public function apiContractDocumentCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
{
$uploadedFiles = $request->files;
if (empty($uploadedFiles)) {
if (empty($request->files)) {
$response->header->status = RequestStatusCode::R_400;
$this->createInvalidCreateResponse($request, $response, $uploadedFiles);
$this->createInvalidCreateResponse($request, $response, $request->files);
return;
}
@ -163,42 +160,25 @@ final class ApiController extends Controller
$uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles(
names: $request->getDataList('names'),
fileNames: $request->getDataList('filenames'),
files: $uploadedFiles,
files: $request->files,
account: $request->header->account,
basePath: __DIR__ . '/../../../Modules/Media/Files' . $path,
virtualPath: $path,
pathSettings: PathSettings::FILE_PATH,
readContent: true
readContent: true,
type: $request->getDataInt('type'),
rel: $contract->id,
mapper: ContractMapper::class,
field: 'files'
);
if ($request->hasData('type')) {
foreach ($uploaded as $file) {
$this->createModelRelation(
$request->header->account,
$file->id,
$request->getDataInt('type'),
MediaMapper::class,
'types',
'',
$request->getOrigin()
);
}
}
if (empty($uploaded)) {
if (empty($uploaded->sources)) {
$this->createInvalidAddResponse($request, $response, []);
return;
}
$this->createModelRelation(
$request->header->account,
(int) $request->getData('contract'),
\reset($uploaded)->id,
ContractMapper::class, 'files', '', $request->getOrigin()
);
$this->createStandardUpdateResponse($request, $response, $uploaded);
$this->createStandardUpdateResponse($request, $response, $uploaded->sources);
}
/**

View File

@ -56,17 +56,14 @@ final class BackendController extends Controller
$view->setTemplate('/Modules/ContractManagement/Theme/Backend/contract-list');
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007901001, $request, $response);
$mapper = ContractMapper::getAll()
$view->data['contracts'] = ContractMapper::getAll()
->with('account')
->limit(25);
if ($request->getData('ptype') === 'p') {
$view->data['contracts'] = $mapper->where('id', $request->getDataInt('offset') ?? 0, '<')->execute();
} elseif ($request->getData('ptype') === 'n') {
$view->data['contracts'] = $mapper->where('id', $request->getDataInt('offset') ?? 0, '>')->execute();
} else {
$view->data['contracts'] = $mapper->where('id', 0, '>')->execute();
}
->limit(25)
->paginate(
'id',
$request->getDataString('ptype') ?? '',
$request->getDataInt('offset')
)->executeGetArray();
return $view;
}
@ -90,18 +87,15 @@ final class BackendController extends Controller
$view->setTemplate('/Modules/ContractManagement/Theme/Backend/contract-type-list');
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1007901001, $request, $response);
$mapper = ContractTypeMapper::getAll()
$view->data['types'] = ContractTypeMapper::getAll()
->with('l11n')
->where('l11n/language', $response->header->l11n->language)
->limit(25);
if ($request->getData('ptype') === 'p') {
$view->data['types'] = $mapper->where('id', $request->getDataInt('offset') ?? 0, '<')->execute();
} elseif ($request->getData('ptype') === 'n') {
$view->data['types'] = $mapper->where('id', $request->getDataInt('offset') ?? 0, '>')->execute();
} else {
$view->data['types'] = $mapper->where('id', 0, '>')->execute();
}
->limit(25)
->paginate(
'id',
$request->getDataString('ptype') ?? '',
$request->getDataInt('offset')
)->executeGetArray();
return $view;
}