This commit is contained in:
Dennis Eichhorn 2024-04-12 00:52:09 +00:00
parent d9e6065a0b
commit 83bc0ae976
3 changed files with 19 additions and 38 deletions

View File

@ -5,7 +5,7 @@
"type": 2, "type": 2,
"subtype": 1, "subtype": 1,
"name": "Suppliers", "name": "Suppliers",
"uri": "{/base}/purchase/supplier/list?{?}", "uri": "{/base}/purchase/supplier/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 1, "order": 1,
@ -19,7 +19,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "List", "name": "List",
"uri": "{/base}/purchase/supplier/list?{?}", "uri": "{/base}/purchase/supplier/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 1, "order": 1,
@ -34,7 +34,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Create", "name": "Create",
"uri": "{/base}/purchase/supplier/create?{?}", "uri": "{/base}/purchase/supplier/create",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 5, "order": 5,
@ -51,7 +51,7 @@
"type": 2, "type": 2,
"subtype": 1, "subtype": 1,
"name": "Attributes", "name": "Attributes",
"uri": "{/base}/purchase/supplier/attribute/type/list?{?}", "uri": "{/base}/purchase/supplier/attribute/type/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 5, "order": 5,
@ -65,7 +65,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Types", "name": "Types",
"uri": "{/base}/purchase/supplier/attribute/type/list?{?}", "uri": "{/base}/purchase/supplier/attribute/type/list",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 15, "order": 15,
@ -80,7 +80,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Create", "name": "Create",
"uri": "{/base}/purchase/supplier/attribute/type/create?{?}", "uri": "{/base}/purchase/supplier/attribute/type/create",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 15, "order": 15,
@ -97,7 +97,7 @@
"type": 3, "type": 3,
"subtype": 1, "subtype": 1,
"name": "Supplier", "name": "Supplier",
"uri": "{/base}/purchase/analysis/supplier?{?}", "uri": "{/base}/purchase/analysis/supplier",
"target": "self", "target": "self",
"icon": null, "icon": null,
"order": 15, "order": 15,

View File

@ -22,6 +22,7 @@ return [
[ [
'dest' => '\Modules\SupplierManagement\Controller\SearchController:searchGeneral', 'dest' => '\Modules\SupplierManagement\Controller\SearchController:searchGeneral',
'verb' => RouteVerb::ANY, 'verb' => RouteVerb::ANY,
'active' => true,
'permission' => [ 'permission' => [
'module' => SearchController::NAME, 'module' => SearchController::NAME,
'type' => PermissionType::READ, 'type' => PermissionType::READ,

View File

@ -18,7 +18,6 @@ use Modules\Admin\Models\Account;
use Modules\Admin\Models\NullAccount; use Modules\Admin\Models\NullAccount;
use Modules\Media\Models\Collection; use Modules\Media\Models\Collection;
use Modules\Media\Models\CollectionMapper; use Modules\Media\Models\CollectionMapper;
use Modules\Media\Models\MediaMapper;
use Modules\Media\Models\PathSettings; use Modules\Media\Models\PathSettings;
use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeMapper; use Modules\SupplierManagement\Models\Attribute\SupplierAttributeTypeMapper;
use Modules\SupplierManagement\Models\SettingsEnum; use Modules\SupplierManagement\Models\SettingsEnum;
@ -106,7 +105,7 @@ final class ApiController extends Controller
private function createMediaDirForSupplier(int $id, int $createdBy) : Collection private function createMediaDirForSupplier(int $id, int $createdBy) : Collection
{ {
$collection = new Collection(); $collection = new Collection();
$collection->name = $id; $collection->name = (string) $id;
$collection->setVirtualPath('/Modules/SupplierManagement/Suppliers'); $collection->setVirtualPath('/Modules/SupplierManagement/Suppliers');
$collection->setPath('/Modules/Media/Files/Modules/SupplierManagement/Suppliers/' . $id); $collection->setPath('/Modules/Media/Files/Modules/SupplierManagement/Suppliers/' . $id);
$collection->createdBy = new NullAccount($createdBy); $collection->createdBy = new NullAccount($createdBy);
@ -358,11 +357,9 @@ final class ApiController extends Controller
*/ */
public function apiFileCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void public function apiFileCreate(RequestAbstract $request, ResponseAbstract $response, array $data = []) : void
{ {
$uploadedFiles = $request->files; if (empty($request->files)) {
if (empty($uploadedFiles)) {
$response->header->status = RequestStatusCode::R_400; $response->header->status = RequestStatusCode::R_400;
$this->createInvalidAddResponse($request, $response, $uploadedFiles); $this->createInvalidAddResponse($request, $response, $request->files);
return; return;
} }
@ -370,41 +367,24 @@ final class ApiController extends Controller
$uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles( $uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles(
names: $request->getDataList('names'), names: $request->getDataList('names'),
fileNames: $request->getDataList('filenames'), fileNames: $request->getDataList('filenames'),
files: $uploadedFiles, files: $request->files,
account: $request->header->account, account: $request->header->account,
basePath: __DIR__ . '/../../../Modules/Media/Files/Modules/SupplierManagement/Suppliers/' . ($request->getData('supplier') ?? '0'), basePath: __DIR__ . '/../../../Modules/Media/Files/Modules/SupplierManagement/Suppliers/' . ($request->getData('supplier') ?? '0'),
virtualPath: '/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')) { if (empty($uploaded->sources)) {
foreach ($uploaded as $file) {
$this->createModelRelation(
$request->header->account,
$file->id,
$request->getDataInt('type'),
MediaMapper::class,
'types',
'',
$request->getOrigin()
);
}
}
if (empty($uploaded)) {
$this->createInvalidAddResponse($request, $response, []); $this->createInvalidAddResponse($request, $response, []);
return; return;
} }
$this->createModelRelation( $this->createStandardAddResponse($request, $response, $uploaded->sources);
$request->header->account,
(int) $request->getData('supplier'),
\reset($uploaded)->id,
SupplierMapper::class, 'files', '', $request->getOrigin()
);
$this->createStandardAddResponse($request, $response, $uploaded);
} }
/** /**