Add empleado, borrado del seeder, cambios esteticos y middleware.
This commit is contained in:
@@ -7,6 +7,13 @@ use App\Models\Client;
|
||||
|
||||
class ClientController extends Controller
|
||||
{
|
||||
private function checkAdmin()
|
||||
{
|
||||
if (auth()->check() && auth()->user()->role !== 'admin') {
|
||||
abort(403, 'Solo los administradores pueden realizar esta acción.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
@@ -31,6 +38,7 @@ class ClientController extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$this->checkAdmin();
|
||||
return view('clients.create');
|
||||
}
|
||||
|
||||
@@ -39,6 +47,7 @@ class ClientController extends Controller
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$this->checkAdmin();
|
||||
$validated = $request->validate([
|
||||
'name' => ['required', 'string', 'max:255', 'not_regex:/[0-9]/'],
|
||||
'phone' => 'nullable|string|max:50',
|
||||
@@ -76,19 +85,21 @@ class ClientController extends Controller
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*/
|
||||
public function show(string $id)
|
||||
public function show(Client $client)
|
||||
{
|
||||
//
|
||||
return view('clients.show', compact('client'));
|
||||
}
|
||||
|
||||
public function edit(Client $client)
|
||||
{
|
||||
$this->checkAdmin();
|
||||
// Reutilizamos la vista de create, o creamos una edit.blade.php similar
|
||||
return view('clients.edit', compact('client'));
|
||||
}
|
||||
|
||||
public function update(Request $request, Client $client)
|
||||
{
|
||||
$this->checkAdmin();
|
||||
$validated = $request->validate([
|
||||
'name' => ['required', 'string', 'max:255', 'not_regex:/[0-9]/'],
|
||||
'phone' => 'nullable|string|max:50',
|
||||
@@ -109,6 +120,7 @@ class ClientController extends Controller
|
||||
*/
|
||||
public function destroy(Client $client)
|
||||
{
|
||||
$this->checkAdmin();
|
||||
try {
|
||||
$client->delete();
|
||||
return redirect()->route('clients.index')->with('success', 'Cliente eliminado correctamente.');
|
||||
|
||||
Reference in New Issue
Block a user