mirror of
https://github.com/Karaka-Management/oms-AssetManagement.git
synced 2026-02-16 13:28:41 +00:00
update
This commit is contained in:
parent
fdaa7fd557
commit
659f897d53
|
|
@ -112,8 +112,10 @@ final class ApiAssetController extends Controller
|
||||||
{
|
{
|
||||||
$path = $this->createAssetDir($asset);
|
$path = $this->createAssetDir($asset);
|
||||||
|
|
||||||
|
$collection = null;
|
||||||
|
|
||||||
if (!empty($uploadedFiles = $request->files)) {
|
if (!empty($uploadedFiles = $request->files)) {
|
||||||
$uploaded = $this->app->moduleManager->get('Media')->uploadFiles(
|
$uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles(
|
||||||
names: [],
|
names: [],
|
||||||
fileNames: [],
|
fileNames: [],
|
||||||
files: $uploadedFiles,
|
files: $uploadedFiles,
|
||||||
|
|
@ -123,7 +125,6 @@ final class ApiAssetController extends Controller
|
||||||
pathSettings: PathSettings::FILE_PATH
|
pathSettings: PathSettings::FILE_PATH
|
||||||
);
|
);
|
||||||
|
|
||||||
$collection = null;
|
|
||||||
foreach ($uploaded as $media) {
|
foreach ($uploaded as $media) {
|
||||||
$this->createModelRelation(
|
$this->createModelRelation(
|
||||||
$request->header->account,
|
$request->header->account,
|
||||||
|
|
@ -160,54 +161,51 @@ final class ApiAssetController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($mediaFiles = $request->getDataJson('media'))) {
|
$mediaFiles = $request->getDataJson('media');
|
||||||
$collection = null;
|
foreach ($mediaFiles as $file) {
|
||||||
|
/** @var \Modules\Media\Models\Media $media */
|
||||||
|
$media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute();
|
||||||
|
|
||||||
foreach ($mediaFiles as $file) {
|
$this->createModelRelation(
|
||||||
/** @var \Modules\Media\Models\Media $media */
|
$request->header->account,
|
||||||
$media = MediaMapper::get()->where('id', (int) $file)->limit(1)->execute();
|
$asset->id,
|
||||||
|
$media->id,
|
||||||
|
AssetMapper::class,
|
||||||
|
'files',
|
||||||
|
'',
|
||||||
|
$request->getOrigin()
|
||||||
|
);
|
||||||
|
|
||||||
$this->createModelRelation(
|
$ref = new Reference();
|
||||||
$request->header->account,
|
$ref->name = $media->name;
|
||||||
$asset->id,
|
$ref->source = new NullMedia($media->id);
|
||||||
$media->id,
|
$ref->createdBy = new NullAccount($request->header->account);
|
||||||
AssetMapper::class,
|
$ref->setVirtualPath($path);
|
||||||
'files',
|
|
||||||
'',
|
|
||||||
$request->getOrigin()
|
|
||||||
);
|
|
||||||
|
|
||||||
$ref = new Reference();
|
$this->createModel($request->header->account, $ref, ReferenceMapper::class, 'media_reference', $request->getOrigin());
|
||||||
$ref->name = $media->name;
|
|
||||||
$ref->source = new NullMedia($media->id);
|
|
||||||
$ref->createdBy = new NullAccount($request->header->account);
|
|
||||||
$ref->setVirtualPath($path);
|
|
||||||
|
|
||||||
$this->createModel($request->header->account, $ref, ReferenceMapper::class, 'media_reference', $request->getOrigin());
|
if ($collection === null) {
|
||||||
|
/** @var \Modules\Media\Models\Collection $collection */
|
||||||
|
$collection = MediaMapper::getParentCollection($path)->limit(1)->execute();
|
||||||
|
|
||||||
if ($collection === null) {
|
if ($collection->id === 0) {
|
||||||
/** @var \Modules\Media\Models\Collection $collection */
|
$collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection(
|
||||||
$collection = MediaMapper::getParentCollection($path)->limit(1)->execute();
|
$path,
|
||||||
|
$request->header->account,
|
||||||
if ($collection->id === 0) {
|
__DIR__ . '/../../../Modules/Media/Files' . $path
|
||||||
$collection = $this->app->moduleManager->get('Media')->createRecursiveMediaCollection(
|
);
|
||||||
$path,
|
|
||||||
$request->header->account,
|
|
||||||
__DIR__ . '/../../../Modules/Media/Files' . $path
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->createModelRelation(
|
|
||||||
$request->header->account,
|
|
||||||
$collection->id,
|
|
||||||
$ref->id,
|
|
||||||
CollectionMapper::class,
|
|
||||||
'sources',
|
|
||||||
'',
|
|
||||||
$request->getOrigin()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->createModelRelation(
|
||||||
|
$request->header->account,
|
||||||
|
$collection->id,
|
||||||
|
$ref->id,
|
||||||
|
CollectionMapper::class,
|
||||||
|
'sources',
|
||||||
|
'',
|
||||||
|
$request->getOrigin()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -260,7 +258,7 @@ final class ApiAssetController extends Controller
|
||||||
|
|
||||||
$uploaded = [];
|
$uploaded = [];
|
||||||
if (!empty($uploadedFiles = $request->files)) {
|
if (!empty($uploadedFiles = $request->files)) {
|
||||||
$uploaded = $this->app->moduleManager->get('Media')->uploadFiles(
|
$uploaded = $this->app->moduleManager->get('Media', 'Api')->uploadFiles(
|
||||||
names: [],
|
names: [],
|
||||||
fileNames: [],
|
fileNames: [],
|
||||||
files: $uploadedFiles,
|
files: $uploadedFiles,
|
||||||
|
|
@ -321,18 +319,17 @@ final class ApiAssetController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($mediaFiles = $request->getDataJson('media'))) {
|
$mediaFiles = $request->getDataJson('media');
|
||||||
foreach ($mediaFiles as $media) {
|
foreach ($mediaFiles as $media) {
|
||||||
$this->createModelRelation(
|
$this->createModelRelation(
|
||||||
$request->header->account,
|
$request->header->account,
|
||||||
$asset->id,
|
$asset->id,
|
||||||
(int) $media,
|
(int) $media,
|
||||||
AssetMapper::class,
|
AssetMapper::class,
|
||||||
'files',
|
'files',
|
||||||
'',
|
'',
|
||||||
$request->getOrigin()
|
$request->getOrigin()
|
||||||
);
|
);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Media', 'Media added to asset.', [
|
$this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Media', 'Media added to asset.', [
|
||||||
|
|
@ -562,8 +559,6 @@ final class ApiAssetController extends Controller
|
||||||
*
|
*
|
||||||
* @return array<string, bool>
|
* @return array<string, bool>
|
||||||
*
|
*
|
||||||
* @todo Implement API validation function
|
|
||||||
*
|
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
private function validateAssetDelete(RequestAbstract $request) : array
|
private function validateAssetDelete(RequestAbstract $request) : array
|
||||||
|
|
|
||||||
|
|
@ -55,15 +55,13 @@ final class BackendController extends Controller
|
||||||
$view->setTemplate('/Modules/AssetManagement/Theme/Backend/asset-list');
|
$view->setTemplate('/Modules/AssetManagement/Theme/Backend/asset-list');
|
||||||
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1006601001, $request, $response);
|
$view->data['nav'] = $this->app->moduleManager->get('Navigation')->createNavigationMid(1006601001, $request, $response);
|
||||||
|
|
||||||
$list = AssetMapper::getAll()
|
$view->data['assets'] = AssetMapper::getAll()
|
||||||
->with('type')
|
->with('type')
|
||||||
->with('type/l11n')
|
->with('type/l11n')
|
||||||
->where('type/l11n/language', $response->header->l11n->language)
|
->where('type/l11n/language', $response->header->l11n->language)
|
||||||
->sort('id', 'DESC')
|
->sort('id', 'DESC')
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
$view->data['assets'] = $list;
|
|
||||||
|
|
||||||
return $view;
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -139,6 +137,8 @@ final class BackendController extends Controller
|
||||||
|
|
||||||
$view->data['asset'] = $asset;
|
$view->data['asset'] = $asset;
|
||||||
|
|
||||||
|
// @feature Create a new read mapper function that returns relation models instead of its own model
|
||||||
|
// https://github.com/Karaka-Management/phpOMS/issues/320
|
||||||
$query = new Builder($this->app->dbPool->get());
|
$query = new Builder($this->app->dbPool->get());
|
||||||
$results = $query->selectAs(AssetMapper::HAS_MANY['files']['external'], 'file')
|
$results = $query->selectAs(AssetMapper::HAS_MANY['files']['external'], 'file')
|
||||||
->from(AssetMapper::TABLE)
|
->from(AssetMapper::TABLE)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user