diff --git a/Modules/Adjustment/Http/Controllers/AdjustmentController.php b/Modules/Adjustment/Http/Controllers/AdjustmentController.php index 91cc75c8..61c7da83 100644 --- a/Modules/Adjustment/Http/Controllers/AdjustmentController.php +++ b/Modules/Adjustment/Http/Controllers/AdjustmentController.php @@ -33,7 +33,7 @@ class AdjustmentController extends Controller abort_if(Gate::denies('create_adjustments'), 403); $request->validate([ - 'reference' => 'required|string|max:255', + 'reference' => 'required|string|max:255|unique:adjustments,reference', 'date' => 'required|date', 'note' => 'nullable|string|max:1000', 'product_ids' => 'required', @@ -94,7 +94,7 @@ class AdjustmentController extends Controller abort_if(Gate::denies('edit_adjustments'), 403); $request->validate([ - 'reference' => 'required|string|max:255', + 'reference' => 'required|string|max:255|unique:adjustments,reference,' . $adjustment->id, 'date' => 'required|date', 'note' => 'nullable|string|max:1000', 'product_ids' => 'required', diff --git a/Modules/Expense/Http/Controllers/ExpenseController.php b/Modules/Expense/Http/Controllers/ExpenseController.php index 73ac7834..abe57dd5 100644 --- a/Modules/Expense/Http/Controllers/ExpenseController.php +++ b/Modules/Expense/Http/Controllers/ExpenseController.php @@ -6,6 +6,7 @@ use App\DataTables\ExpensesDataTable; use Illuminate\Contracts\Support\Renderable; use Illuminate\Http\Request; use Illuminate\Routing\Controller; +use Illuminate\Support\Facades\Gate; use Modules\Expense\Entities\Expense; use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\Exp; @@ -13,16 +14,22 @@ class ExpenseController extends Controller { public function index(ExpensesDataTable $dataTable) { + abort_if(Gate::denies('access_expenses'), 403); + return $dataTable->render('expense::expenses.index'); } public function create() { + abort_if(Gate::denies('create_expenses'), 403); + return view('expense::expenses.create'); } public function store(Request $request) { + abort_if(Gate::denies('create_expenses'), 403); + $request->validate([ 'date' => 'required|date', 'reference' => 'required|string|max:255|unique:expenses,reference', @@ -46,11 +53,15 @@ class ExpenseController extends Controller public function edit(Expense $expense) { + abort_if(Gate::denies('edit_expenses'), 403); + return view('expense::expenses.edit', compact('expense')); } public function update(Request $request, Expense $expense) { + abort_if(Gate::denies('edit_expenses'), 403); + $request->validate([ 'date' => 'required|date', 'reference' => 'required|string|max:255|unique:expenses,reference,' . $expense->id, @@ -74,6 +85,8 @@ class ExpenseController extends Controller public function destroy(Expense $expense) { + abort_if(Gate::denies('delete_expenses'), 403); + $expense->delete(); toast('Expense Deleted!', 'warning'); diff --git a/Modules/Expense/Resources/views/expenses/partials/actions.blade.php b/Modules/Expense/Resources/views/expenses/partials/actions.blade.php index c3334d51..89ee7e60 100644 --- a/Modules/Expense/Resources/views/expenses/partials/actions.blade.php +++ b/Modules/Expense/Resources/views/expenses/partials/actions.blade.php @@ -1,6 +1,9 @@ +@can('edit_expenses') +@endcan +@can('delete_expenses')