MediaController::loadMedia refactor
This commit is contained in:
parent
27d0f7ff70
commit
e0ca3acf23
1 changed files with 33 additions and 24 deletions
|
|
@ -38,6 +38,7 @@ use Illuminate\Database\Eloquent\ModelNotFoundException;
|
|||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
|
@ -102,7 +103,7 @@ class MediaController extends Controller
|
|||
$textSearch,
|
||||
$filters,
|
||||
intval(Dossier::where('id', $dossier_id)->exists() ?
|
||||
$dossier_id : (in_array($dossier_id, [-1, 0]) ? $dossier_id : -1))
|
||||
$dossier_id : (in_array($dossier_id, [-1, 0]) ? $dossier_id : -1))
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -156,12 +157,16 @@ class MediaController extends Controller
|
|||
$user = auth()->user();
|
||||
|
||||
/** @var \App\Models\Dossier|null */
|
||||
$dossier = Dossier::where('id', $request->folder)->first();
|
||||
$dossier = Dossier::query()
|
||||
->with('dossierParent')
|
||||
->where('id', $request->input('folder'))
|
||||
->first();
|
||||
|
||||
$response = [];
|
||||
$filters = (object)collect($request->filters)->all();
|
||||
$filters = (object)collect($request->input('filters'))->all();
|
||||
|
||||
$isDepot = ($dossier->parent_id ?? null) === 1 || ($dossier->id ?? null) === 1;
|
||||
/** @var boolean Est un dossier Dépot ? */
|
||||
$isDepot = !empty($dossier) and (\optional($dossier->dossierParent)->id === 1 || $dossier->id === 1);
|
||||
|
||||
/**
|
||||
* Elastic Search must conditions
|
||||
|
|
@ -220,26 +225,30 @@ class MediaController extends Controller
|
|||
'bool.should' => $esShould,
|
||||
'bool.filter' => $esFilters,
|
||||
]);
|
||||
$sort = [[$orderField => ['order' => $order]]];
|
||||
|
||||
$sort = [[$orderField => ['order' => $order]]];
|
||||
|
||||
$response['data'] = Media::searchByQuery(
|
||||
Arr::set($response, 'data', Media::searchByQuery(
|
||||
$query,
|
||||
null,
|
||||
null,
|
||||
intval($request->post('limit', 50)),
|
||||
intval($request->post('offset', 0)),
|
||||
$sort
|
||||
));
|
||||
|
||||
Arr::set($response, 'draggable', $user->hasRole([
|
||||
config('roles.const.ADMIN'),
|
||||
config('roles.const.REDACTEUR')
|
||||
]));
|
||||
Arr::set($response, 'isDepot', $isDepot);
|
||||
Arr::set(
|
||||
$response,
|
||||
'isCAQuery',
|
||||
$searchText &&
|
||||
strpos($searchText, '=') !== false &&
|
||||
\strval(collect(explode('=', $searchText))->get(0)) === 'ca'
|
||||
);
|
||||
|
||||
$response['draggable'] = $user->hasRole([config('roles.const.ADMIN'), config('roles.const.REDACTEUR')]);
|
||||
$response['isDepot'] = $isDepot;
|
||||
|
||||
$response['isCAQuery'] = $searchText &&
|
||||
strpos($searchText, '=') !== false &&
|
||||
\strval(collect(explode('=', $searchText))->get(0)) === 'ca';
|
||||
|
||||
$response['role'] = $user->role;
|
||||
Arr::set($response, 'role', $user->role);
|
||||
|
||||
return \response()->json($response);
|
||||
}
|
||||
|
|
@ -262,7 +271,7 @@ class MediaController extends Controller
|
|||
|
||||
/** @var \Illuminate\Database\Eloquent\Collection<\App\Models\Media> */
|
||||
$mediaList = Media::whereIn('id', collect($request->mediaList)->pluck('id'))
|
||||
->where('isLocked', false)->get();
|
||||
->where('isLocked', false)->get();
|
||||
|
||||
$destinationDossierId = \intval($request->dossier_id);
|
||||
|
||||
|
|
@ -346,7 +355,7 @@ class MediaController extends Controller
|
|||
});
|
||||
} catch (ModelNotFoundException | \RuntimeException $e) {
|
||||
return response()->json($e->getMessage(), 500);
|
||||
}//end try
|
||||
} //end try
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -416,7 +425,7 @@ class MediaController extends Controller
|
|||
'status' => false,
|
||||
'error' => trans('Une erreur est survenue veuillez réessayer')
|
||||
]);
|
||||
}//end try
|
||||
} //end try
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -751,8 +760,8 @@ class MediaController extends Controller
|
|||
$history = Historique::whereHas('media', function ($q) use ($media) {
|
||||
$q->whereId($media->id);
|
||||
})->with('user')
|
||||
->orderBy('created_date', 'DESC')
|
||||
->get();
|
||||
->orderBy('created_date', 'DESC')
|
||||
->get();
|
||||
return \response()->json([
|
||||
'history' => $history,
|
||||
'vignettes' => $this->getVignettesByMedia($media)
|
||||
|
|
@ -1062,9 +1071,9 @@ class MediaController extends Controller
|
|||
];
|
||||
|
||||
$sys_extension = in_array($media->extension, [
|
||||
MediaExtension::pdf,
|
||||
MediaExtension::ai,
|
||||
MediaExtension::psd
|
||||
MediaExtension::pdf,
|
||||
MediaExtension::ai,
|
||||
MediaExtension::psd
|
||||
]) ? MediaExtension::png : $media->extension->value;
|
||||
|
||||
$vignettes['preview'] = [
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue