From 83bc0ae976ebb64db628d3060cf0205dc9e1cd2a Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 12 Apr 2024 00:52:09 +0000 Subject: [PATCH] fix bugs --- Admin/Install/Navigation.install.json | 14 ++++----- Admin/Install/SearchCommands.php | 1 + Controller/ApiController.php | 42 +++++++-------------------- 3 files changed, 19 insertions(+), 38 deletions(-) diff --git a/Admin/Install/Navigation.install.json b/Admin/Install/Navigation.install.json index cdd5012..134cce3 100755 --- a/Admin/Install/Navigation.install.json +++ b/Admin/Install/Navigation.install.json @@ -5,7 +5,7 @@ "type": 2, "subtype": 1, "name": "Suppliers", - "uri": "{/base}/purchase/supplier/list?{?}", + "uri": "{/base}/purchase/supplier/list", "target": "self", "icon": null, "order": 1, @@ -19,7 +19,7 @@ "type": 3, "subtype": 1, "name": "List", - "uri": "{/base}/purchase/supplier/list?{?}", + "uri": "{/base}/purchase/supplier/list", "target": "self", "icon": null, "order": 1, @@ -34,7 +34,7 @@ "type": 3, "subtype": 1, "name": "Create", - "uri": "{/base}/purchase/supplier/create?{?}", + "uri": "{/base}/purchase/supplier/create", "target": "self", "icon": null, "order": 5, @@ -51,7 +51,7 @@ "type": 2, "subtype": 1, "name": "Attributes", - "uri": "{/base}/purchase/supplier/attribute/type/list?{?}", + "uri": "{/base}/purchase/supplier/attribute/type/list", "target": "self", "icon": null, "order": 5, @@ -65,7 +65,7 @@ "type": 3, "subtype": 1, "name": "Types", - "uri": "{/base}/purchase/supplier/attribute/type/list?{?}", + "uri": "{/base}/purchase/supplier/attribute/type/list", "target": "self", "icon": null, "order": 15, @@ -80,7 +80,7 @@ "type": 3, "subtype": 1, "name": "Create", - "uri": "{/base}/purchase/supplier/attribute/type/create?{?}", + "uri": "{/base}/purchase/supplier/attribute/type/create", "target": "self", "icon": null, "order": 15, @@ -97,7 +97,7 @@ "type": 3, "subtype": 1, "name": "Supplier", - "uri": "{/base}/purchase/analysis/supplier?{?}", + "uri": "{/base}/purchase/analysis/supplier", "target": "self", "icon": null, "order": 15, diff --git a/Admin/Install/SearchCommands.php b/Admin/Install/SearchCommands.php index 09950f6..89b166e 100644 --- a/Admin/Install/SearchCommands.php +++ b/Admin/Install/SearchCommands.php @@ -22,6 +22,7 @@ return [ [ 'dest' => '\Modules\SupplierManagement\Controller\SearchController:searchGeneral', 'verb' => RouteVerb::ANY, + 'active' => true, 'permission' => [ 'module' => SearchController::NAME, 'type' => PermissionType::READ, diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 2cca21f..36d4b83 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -18,7 +18,6 @@ use Modules\Admin\Models\Account; use Modules\Admin\Models\NullAccount; use Modules\Media\Models\Collection; use Modules\Media\Models\CollectionMapper; -use Modules\Media\Models\MediaMapper; use Modules\Media\Models\PathSettings; use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeMapper; use Modules\SupplierManagement\Models\SettingsEnum; @@ -106,7 +105,7 @@ final class ApiController extends Controller private function createMediaDirForSupplier(int $id, int $createdBy) : Collection { $collection = new Collection(); - $collection->name = $id; + $collection->name = (string) $id; $collection->setVirtualPath('/Modules/SupplierManagement/Suppliers'); $collection->setPath('/Modules/Media/Files/Modules/SupplierManagement/Suppliers/' . $id); $collection->createdBy = new NullAccount($createdBy); @@ -358,11 +357,9 @@ final class ApiController extends Controller */ public function apiFileCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void { - $uploadedFiles = $request->files; - - if (empty($uploadedFiles)) { + if (empty($request->files)) { $response->header->status = RequestStatusCode::R_400; - $this->createInvalidAddResponse($request, $response, $uploadedFiles); + $this->createInvalidAddResponse($request, $response, $request->files); return; } @@ -370,41 +367,24 @@ 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/Modules/SupplierManagement/Suppliers/' . ($request->getData('supplier') ?? '0'), virtualPath: '/Modules/SupplierManagement/Suppliers/' . ($request->getData('supplier') ?? '0'), - pathSettings: PathSettings::FILE_PATH + pathSettings: PathSettings::FILE_PATH, + type: $request->getDataInt('type'), + rel: (int) $request->getData('supplier'), + mapper: SupplierMapper::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('supplier'), - \reset($uploaded)->id, - SupplierMapper::class, 'files', '', $request->getOrigin() - ); - - $this->createStandardAddResponse($request, $response, $uploaded); + $this->createStandardAddResponse($request, $response, $uploaded->sources); } /**