mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-13 19:11:06 +03:30
fix media
This commit is contained in:
@@ -144,6 +144,7 @@ class ItemController extends Controller
|
|||||||
$Item = Item::create( [
|
$Item = Item::create( [
|
||||||
'name' => $request->name ,
|
'name' => $request->name ,
|
||||||
'size' => $request->size ,
|
'size' => $request->size ,
|
||||||
|
'unique_id' => $request->unique_id ,
|
||||||
'specific' => $request->specific ,
|
'specific' => $request->specific ,
|
||||||
'note' => $request->note ,
|
'note' => $request->note ,
|
||||||
'udi' => $request->udi ,
|
'udi' => $request->udi ,
|
||||||
@@ -163,19 +164,16 @@ class ItemController extends Controller
|
|||||||
|
|
||||||
public function update( StoreItemRequest $request , Item $Item )
|
public function update( StoreItemRequest $request , Item $Item )
|
||||||
{
|
{
|
||||||
try {
|
$Item->update( [
|
||||||
$Item->update( [
|
'name' => $request->name ,
|
||||||
'name' => $request->name ,
|
'size' => $request->size ,
|
||||||
'size' => $request->size ,
|
'unique_id' => $request->unique_id ,
|
||||||
'specific' => $request->specific ,
|
'specific' => $request->specific ,
|
||||||
'note' => $request->note ,
|
'note' => $request->note ,
|
||||||
'udi' => $request->udi
|
'udi' => $request->udi
|
||||||
] );
|
] );
|
||||||
MediaHelper::moveMediaTo( $Item );
|
MediaHelper::moveMediaTo( $Item );
|
||||||
return MessageResponse::success( trans( 'messages.success' ) );
|
return MessageResponse::success( trans( 'messages.success' ) );
|
||||||
} catch ( \Exception $exception ) {
|
|
||||||
dd( $exception );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function destroy( Item $Item )
|
public function destroy( Item $Item )
|
||||||
|
|||||||
@@ -11,27 +11,23 @@ class StoreMedia extends Controller
|
|||||||
{
|
{
|
||||||
public function __invoke(Request $request)
|
public function __invoke(Request $request)
|
||||||
{
|
{
|
||||||
try {
|
$this->validate($request, [
|
||||||
$this->validate($request, [
|
'batch_id' => 'required|max:40',
|
||||||
'batch_id' => 'required|max:40',
|
'file' => 'required|mimes:jpeg,jpg,bmp,png,pdf'
|
||||||
'file' => 'required|mimes:jpeg,jpg,bmp,png,pdf'
|
], [
|
||||||
], [
|
'required' => trans('validations.required'),
|
||||||
'required' => trans('validations.required'),
|
'max' => trans('validations.max', ['number' => 255]),
|
||||||
'max' => trans('validations.max', ['number' => 255]),
|
'mimes' => trans('validations.mimes', ['types' => 'jpeg,jpg,bmp,png,pdf']),
|
||||||
'mimes' => trans('validations.mimes', ['types' => 'jpeg,jpg,bmp,png,pdf']),
|
]);
|
||||||
]);
|
$fakeModel = FakeModel::firstOrCreate(['batch_id' => $request->input('batch_id')]);
|
||||||
$fakeModel = FakeModel::firstOrCreate(['batch_id' => $request->input('batch_id')]);
|
$media = $fakeModel->addMedia($request->file('file'))->toMediaCollection('temp_medias');
|
||||||
$media = $fakeModel->addMedia($request->file('file'))->toMediaCollection('temp_medias');
|
|
||||||
|
|
||||||
return response()->json(
|
return response()->json(
|
||||||
Responser::success(
|
Responser::success(
|
||||||
'فایل با موفقیت بارگزاری گردید',
|
'فایل با موفقیت بارگزاری گردید',
|
||||||
null,
|
null,
|
||||||
['id' => $media->id, 'url' => $media->getUrl()]
|
['id' => $media->id, 'url' => $media->getUrl()]
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}catch (\Exception $exception){
|
|
||||||
dd($exception);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class StoreItemRequest extends FormRequest
|
|||||||
'size' => 'required',
|
'size' => 'required',
|
||||||
'specific' => 'required',
|
'specific' => 'required',
|
||||||
'note' => 'nullable',
|
'note' => 'nullable',
|
||||||
// 'udi' => 'required|max:100|unique:items',
|
'udi' => 'required|max:100|unique:items',
|
||||||
];
|
];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,40 +7,37 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
|
|
||||||
class MediaHelper
|
class MediaHelper
|
||||||
{
|
{
|
||||||
public static function moveMediaTo( $model )
|
public static function moveMediaTo($model) {
|
||||||
{
|
|
||||||
try {
|
|
||||||
request()->validate( [
|
|
||||||
'file_batch_id' => 'nullable|string' ,
|
|
||||||
] );
|
|
||||||
|
|
||||||
if ( $fakeModel = FakeModel::where( 'batch_id' , request( 'file_batch_id' ) )->first() ) {
|
request()->validate([
|
||||||
foreach ( $fakeModel->getMedia( 'temp_medias' ) as $media ) {
|
'file_batch_id' => 'nullable|string',
|
||||||
if ( substr( $media->mime_type , 0 , 5 ) == 'image' ) {
|
]);
|
||||||
$media->move( $model , 'images' );
|
|
||||||
} else {
|
if ($fakeModel = FakeModel::where('batch_id', request('file_batch_id'))->first()) {
|
||||||
$media->move( $model , 'files' );
|
foreach($fakeModel->getMedia('temp_medias') as $media) {
|
||||||
}
|
if(substr($media->mime_type, 0, 5) == 'image') {
|
||||||
|
$media->move($model, 'images');
|
||||||
|
} else {
|
||||||
|
$media->move($model, 'files');
|
||||||
}
|
}
|
||||||
$fakeModel->delete();
|
|
||||||
}
|
}
|
||||||
} catch ( \Exception $exception ) {
|
$fakeModel->delete();
|
||||||
dd( $exception );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function storeMediaFor( Model $model , string $batchId = null )
|
public static function storeMediaFor(Model $model, string $batchId = null)
|
||||||
{
|
{
|
||||||
if ( is_null( $batchId ) ) {
|
if (is_null($batchId)) {
|
||||||
$batchId = request()->input( 'file_batch_id' );
|
$batchId = request()->input('file_batch_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
$modelName = self::getNamespaceMap( $model );
|
$modelName = self::getNamespaceMap($model);
|
||||||
|
|
||||||
if ( $fakeModel = FakeModel::where( 'batch_id' , $batchId )->where( 'model_name' , $modelName )->first() ) {
|
if ($fakeModel = FakeModel::where('batch_id', $batchId)->where('model_name', $modelName)->first()) {
|
||||||
|
|
||||||
foreach ( $fakeModel->media()->get() as $media ) {
|
foreach($fakeModel->media()->get() as $media) {
|
||||||
$media->move( $model , $media->collection_name );
|
$media->move($model, $media->collection_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
$fakeModel->delete();
|
$fakeModel->delete();
|
||||||
@@ -49,24 +46,23 @@ class MediaHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function getNamespaceMap( Model $model )
|
private static function getNamespaceMap(Model $model)
|
||||||
{
|
{
|
||||||
return $model->getMorphClass();
|
return $model->getMorphClass();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function moveTinyMCEMediaTo( $model )
|
public static function moveTinyMCEMediaTo($model) {
|
||||||
{
|
|
||||||
|
|
||||||
request()->validate( [
|
request()->validate([
|
||||||
'tinymce_batch_id' => 'nullable|string' ,
|
'tinymce_batch_id' => 'nullable|string',
|
||||||
] );
|
]);
|
||||||
|
|
||||||
if ( $fakeModel = FakeModel::where( 'batch_id' , request( 'tinymce_batch_id' ) )->first() ) {
|
if ($fakeModel = FakeModel::where('batch_id', request('tinymce_batch_id'))->first()) {
|
||||||
foreach ( $fakeModel->getMedia( 'temp_medias' ) as $media ) {
|
foreach($fakeModel->getMedia('temp_medias') as $media) {
|
||||||
if ( substr( $media->mime_type , 0 , 5 ) == 'image' ) {
|
if(substr($media->mime_type, 0, 5) == 'image') {
|
||||||
$media->assign( $model , 'tinymce_images' );
|
$media->assign($model, 'tinymce_images');
|
||||||
} else {
|
} else {
|
||||||
$media->assign( $model , 'temp_medias' );
|
$media->assign($model, 'temp_medias');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$fakeModel->delete();
|
$fakeModel->delete();
|
||||||
@@ -74,16 +70,15 @@ class MediaHelper
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function loadMedia( $model , ...$collections )
|
public static function loadMedia($model, ...$collections) {
|
||||||
{
|
$model->loadMissing(['media' => function($query) use ($collections) {
|
||||||
$model->loadMissing( [ 'media' => function ( $query ) use ( $collections ) {
|
$query->select('*');
|
||||||
$query->select( '*' );
|
if (! empty($collections)) {
|
||||||
if ( ! empty( $collections ) ) {
|
$query->whereIn('collection_name', $collections);
|
||||||
$query->whereIn( 'collection_name' , $collections );
|
|
||||||
}
|
}
|
||||||
} ] );
|
}]);
|
||||||
if ( $model->media ) {
|
if ($model->media) {
|
||||||
foreach ( $model->media as $media ) {
|
foreach ($model->media as $media) {
|
||||||
$media->address = $media->getUrl();
|
$media->address = $media->getUrl();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user