added permission checker for data master

This commit is contained in:
Jagad R R
2024-12-13 19:34:33 +07:00
parent 095c2169c5
commit bf75c08b5e
16 changed files with 1202 additions and 144 deletions
@@ -11,6 +11,7 @@ use Illuminate\Contracts\Support\Renderable;
use Illuminate\Http\RedirectResponse;
use Illuminate\Support\Facades\Hash;
use Spatie\Permission\Models\Role;
use App\Helpers\NextcloudHelper;
class AdminsController extends Controller
{
@@ -63,8 +64,16 @@ class AdminsController extends Controller
$admin->assignRole($request->roles);
}
session()->flash('success', __('Admin has been created.'));
return redirect()->route('admin.admins.index');
// Create a folder in Nextcloud
$response = NextcloudHelper::createUser(env('NEXT_CLOUD_URL'), env('NEXT_CLOUD_USERNAME'), env('NEXT_CLOUD_PASSWORD'), $request->username, $request->password, $request->name, $request->email);
if ($response['success']) {
session()->flash('success', __('Admin has been created.'));
return redirect()->route('admin.admins.index');
} else {
session()->flash('error', $response['message']);
return redirect()->route('admin.admins.index');
}
}
public function edit(int $id): Renderable
@@ -10,6 +10,7 @@ class CategoryController extends Controller
{
public function index()
{
$this->checkAuthorization(auth()->user(), ['category.view']);
return view('backend.pages.master.category.index', [
'categories' => Kategori::all()
]);
@@ -17,11 +18,13 @@ class CategoryController extends Controller
public function create()
{
$this->checkAuthorization(auth()->user(), ['category.create']);
return view('backend.pages.master.category.create');
}
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['category.create']);
$request->validate([
'name' => 'required|unique:kategori,name',
'account_number' => 'required|unique:kategori,account_number'
@@ -38,6 +41,7 @@ class CategoryController extends Controller
public function edit($id)
{
$this->checkAuthorization(auth()->user(), ['category.edit']);
return view('backend.pages.master.category.edit', [
'category' => Kategori::findOrfail($id)
]);
@@ -45,6 +49,7 @@ class CategoryController extends Controller
public function update(Request $request, $id)
{
$this->checkAuthorization(auth()->user(), ['category.edit']);
$request->validate([
'name' => 'required|unique:kategori,name,' . $id . ',id',
'account_number' => 'required|unique:kategori,account_number,' . $id . ',id'
@@ -61,6 +66,7 @@ class CategoryController extends Controller
public function destroy($id)
{
$this->checkAuthorization(auth()->user(), ['category.delete']);
Kategori::findOrfail($id)->delete();
session()->flash('success', 'Category has been deleted.');
@@ -10,6 +10,7 @@ class CostCentreController extends Controller
{
public function index()
{
$this->checkAuthorization(auth()->user(), ['cost.view']);
return view('backend.pages.master.cost.index', [
'costs' => CostCentre::all()
]);
@@ -17,11 +18,13 @@ class CostCentreController extends Controller
public function create()
{
$this->checkAuthorization(auth()->user(), ['cost.create']);
return view('backend.pages.master.cost.create');
}
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['cost.create']);
$request->validate([
'code' => 'required|unique:cost_centre,code',
'name' => 'required|unique:cost_centre,name'
@@ -38,6 +41,7 @@ class CostCentreController extends Controller
public function edit($id)
{
$this->checkAuthorization(auth()->user(), ['cost.edit']);
return view('backend.pages.master.cost.edit', [
'cost' => CostCentre::findOrfail($id)
]);
@@ -45,6 +49,7 @@ class CostCentreController extends Controller
public function update(Request $request, $id)
{
$this->checkAuthorization(auth()->user(), ['cost.edit']);
$request->validate([
'code' => 'required|unique:cost_centre,code,' . $id . ',id',
'name' => 'required|unique:cost_centre,name,' . $id . ',id'
@@ -61,6 +66,7 @@ class CostCentreController extends Controller
public function destroy($id)
{
$this->checkAuthorization(auth()->user(), ['cost.delete']);
CostCentre::findOrfail($id)->delete();
session()->flash('success', 'Cost has been deleted.');
@@ -10,6 +10,7 @@ class RayonController extends Controller
{
public function index()
{
$this->checkAuthorization(auth()->user(), ['rayon.view']);
return view('backend.pages.master.rayon.index', [
'rayons' => Rayon::all()
]);
@@ -17,11 +18,13 @@ class RayonController extends Controller
public function create()
{
$this->checkAuthorization(auth()->user(), ['rayon.create']);
return view('backend.pages.master.rayon.create');
}
public function store(Request $request)
{
$this->checkAuthorization(auth()->user(), ['rayon.create']);
$request->validate([
'code' => 'required|unique:rayon,code',
'name' => 'required|unique:rayon,name'
@@ -38,6 +41,7 @@ class RayonController extends Controller
public function edit($id)
{
$this->checkAuthorization(auth()->user(), ['rayon.edit']);
return view('backend.pages.master.rayon.edit', [
'rayon' => Rayon::findOrfail($id)
]);
@@ -45,6 +49,7 @@ class RayonController extends Controller
public function update(Request $request, $id)
{
$this->checkAuthorization(auth()->user(), ['rayon.edit']);
$request->validate([
'code' => 'required|unique:rayon,code,' . $id . ',id',
'name' => 'required|unique:rayon,name,' . $id . ',id'
@@ -61,6 +66,7 @@ class RayonController extends Controller
public function destroy($id)
{
$this->checkAuthorization(auth()->user(), ['rayon.delete']);
Rayon::findOrfail($id)->delete();
session()->flash('success', 'Rayon has been deleted.');