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,
"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,

View File

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

View File

@ -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);
}
/**