Add empleado, borrado del seeder, cambios esteticos y middleware.

This commit is contained in:
2026-06-10 15:57:51 -03:00
parent d0d61f7985
commit 2454ee3a23
20 changed files with 1039 additions and 200 deletions
@@ -8,6 +8,13 @@ use App\Models\Supplier;
class ExpenseController extends Controller
{
private function checkAdmin()
{
if (auth()->check() && auth()->user()->role !== 'admin') {
abort(403, 'Solo los administradores pueden realizar esta acción.');
}
}
public function index(Request $request)
{
$query = $request->input('search');
@@ -33,12 +40,14 @@ class ExpenseController extends Controller
public function create()
{
$this->checkAdmin();
$suppliers = Supplier::orderBy('name')->get();
return view('expenses.create', compact('suppliers'));
}
public function store(Request $request)
{
$this->checkAdmin();
$validated = $request->validate([
'supplier_id' => 'nullable|exists:suppliers,id',
'description' => 'required|string|max:255',
@@ -66,12 +75,14 @@ class ExpenseController extends Controller
public function edit(Expense $expense)
{
$this->checkAdmin();
$suppliers = Supplier::orderBy('name')->get();
return view('expenses.edit', compact('expense', 'suppliers'));
}
public function update(Request $request, Expense $expense)
{
$this->checkAdmin();
$validated = $request->validate([
'supplier_id' => 'nullable|exists:suppliers,id',
'description' => 'required|string|max:255',
@@ -90,6 +101,7 @@ class ExpenseController extends Controller
public function destroy(Expense $expense)
{
$this->checkAdmin();
$expense->delete();
return redirect()->route('expenses.index')->with('success', 'Gasto eliminado correctamente.');
}