ldc-dam/app/Http/Controllers/BrandController.php
2026-05-13 17:17:21 +02:00

58 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Marque;
use App\Http\Requests\Bo\UpdateBrandUserRequest;
use App\Models\User;
use Illuminate\Support\Facades\DB;
class BrandController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
/** @var \App\Models\User */
$user = auth()->user();
$user->authorizeRoles(config('roles.const.ADMIN'));
$brands = Marque::query()->orderBy('libMarq')->get();
return view('brands.index')->with([
'brands' => $brands
]);
}
public function editUsers(Marque $brand)
{
/** @var \App\Models\User */
$user = auth()->user();
$user->authorizeRoles(config('roles.const.ADMIN'));
$userModels = User::all();
return view('brands.edit-relations')->with([
'brand' => $brand,
'brands' => Marque::all(),
'userModels' => $userModels,
]);
}
public function updateUsers(UpdateBrandUserRequest $request, Marque $brand)
{
/** @var \App\Models\User */
$user = auth()->user();
$user->authorizeRoles(config('roles.const.ADMIN'));
DB::transaction(function () use ($request, $brand) {
if ($request->validated('users')) {
$brand->users()->sync($request->validated('users'));
}
return redirect()->route('brands.editUsers', ['brand' => $brand])
->with('success', __('Les utilisateurs ont bien été mis à jour'));
});
return back()->with('error', __('Une erreur est survenue. Veuillez réessayer ultérieurement.'));
}
}