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')