MediaController::loadMedia refactor
This commit is contained in:
parent
e18918fa61
commit
92d837586e
1 changed files with 24 additions and 15 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;
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue