sidebar permission module added

This commit is contained in:
Ritikesh yadav
2024-04-09 17:56:07 +05:30
parent dafc338200
commit 0ef6d40f29
31 changed files with 4305 additions and 1197 deletions

View File

@@ -7,6 +7,10 @@ use App\Traits\HttpResponse;
use App\Http\Controllers\Controller;
use App\Services\Admin\ManageSubAdminService;
use App\Models\User;
use App\Models\Iam_App_Resource_Action_Link;
use App\Models\Iam_App_Resources;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
class ManageSubAdminController extends Controller
{
@@ -21,7 +25,11 @@ class ManageSubAdminController extends Controller
public function index()
{
return view('Admin.Pages.manage_sub_admin.manage_sub_admin',[
$check = checkSidebarAccess('user-list');
if (!$check) {
abort(404);
}
return view('Admin.Pages.manage_sub_admin.manage_sub_admin', [
'users' => $this->admin->getAllAdmin()
]);
}
@@ -35,37 +43,45 @@ class ManageSubAdminController extends Controller
// {
// return view('Admin.Pages.manage_sub_admin.view_role');
// }
public function status(Request $request)
public function status(Request $request)
{
$statusChanged = $this->admin->changeStatus($request);
return $statusChanged ?
$this->response('Status Changed!', 200) :
$this->response('Error Changing Status!', 400);
}
public function listSubAdmin()
{
$subAdmin = User::where(['role'=>1, 'status'=>1])->whereNotIn('id',[auth()->user()->id])->get();
$check = checkSidebarAccess('sub-admin');
if (!$check) {
abort(404);
}
$subAdmin = User::where(['role' => 2, 'status' => 1])->whereNotIn('id', [auth()->user()->id])->latest()->get();
// $subAdmin = User::where('status', 1)->whereIn('role', ['1', '2'])->whereNotIn('id', [auth()->user()->id])->latest()->get();
// dd($subAdmin);
return view('Admin.sub_admin_list',['subAdmin'=>$subAdmin]);
return view('Admin.sub_admin_list', ['subAdmin' => $subAdmin]);
}
public function addSubAdmin(Request $request)
{
dd($request->all());
// dd($request->all());
$validator = Validator::make($request->post(), [
'name' => 'required',
// 'address' => 'required',
// 'contact_number' => 'required|unique:users,contact_number',
// 'pan_no' => 'required|unique:users,pan_no',
'mobile_number' => 'required|unique:users,contact_number',
'password' => 'required',
'email' => 'required|unique:users,email',
], ['email.unique' => 'Email is not unique', 'name.required' => 'Name is required']);
$validationMessage = $this->validationError($validator);
], [
'unique' => ':attribute should be unique',
'required' => ':attribute is required'
]);
$validationMessage = validationErrorMessage($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage]);
}
$principalType = Iam_Principal_Type::find($request->role_type);
// $principalType = Iam_Principal_Type::find($request->role_type);
// defining user type
if ($request->role_type == 1) {
@@ -75,20 +91,26 @@ class ManageSubAdminController extends Controller
} else {
$roleType = 0;
}
// dd(Hash::make($request->password));
$addUser = User::insertGetId([
'principal_type_xid' => $principalType->id,
// 'principal_type_xid' => $principalType->id,
'name' => $request->name,
'email' => $request->email,
'contact_number' => $request->mobile_number,
'password' => Hash::make($request->password),
'role' => $roleType,
]);
// $addUser = null;
if ($addUser == null) {
return response()->json(['status' => 400, 'message' => 'Something error!']);
}
// dd('hello');
foreach ($request->all() as $key => $value) {
if ($key == '_token' || $key == 'name' || $key == 'email' || $key == 'mobile_number' || $key == 'role_type') {
if ($key == '_token' || $key == 'name' || $key == 'email' || $key == 'mobile_number' || $key == 'role_type' || $key == 'password') {
continue;
} else {
$appResource = Iam_App_Resources::find($value);
// dd($value );
$appResource = Iam_App_Resources::find((int)$value);
$addAppResourceActionLink = Iam_App_Resource_Action_Link::create([
'user_xid' => $addUser,
'app_resource_xid' => $appResource->id,
@@ -97,26 +119,27 @@ class ManageSubAdminController extends Controller
}
return response()->json(['status' => 200, 'message' => 'User Added!']);
}
public function viewSubAdmin(Request $request)
{
dd($request->all());
$id = $request->id();
// dd((int)$request->id);
$id = (int)$request->id;
$user = User::find($id);
$accessPage = Iam_App_Resource_Action_Link::where('user_xid', $id)->pluck('app_resource_xid');
return view('Admin.edit-sub-admin',['user'=>$user, 'accessPage'=>$accessPage, 'id'=>$id]);
// dd($accessPage);
return view('Admin.view-sub-admin', ['user' => $user, 'accessPage' => $accessPage, 'id' => $id]);
}
public function updateSubAdmin(Request $request)
{
// dd($request->all());
// dd($request->ip());
$id = $request->id;
$id = (int)$request->id;
// dd($id);
$validator = Validator::make($request->all(), [
'name' => 'required',
// 'address' => 'required',
// 'contact_number' => 'required|unique:users,contact_number,' . $id . '',
'mobile_number' => 'required|unique:users,contact_number,' . $id . '',
// 'pan_no' => 'required|unique:users,pan_no,' . $id . '',
'email' => 'required|unique:users,email,' . $id . '',
], [
@@ -124,7 +147,7 @@ class ManageSubAdminController extends Controller
'name.required' => 'Name is required',
'email.required' => 'Email is required'
]);
$validationMessage = $this->validationError($validator);
$validationMessage = validationErrorMessage($validator);
if ($validationMessage) {
return response()->json(['status' => 400, 'message' => $validationMessage]);
}
@@ -168,7 +191,7 @@ class ManageSubAdminController extends Controller
// dd($request->post());
$checkAccess = Iam_App_Resource_Action_Link::where(['user_xid' => $id, 'app_resource_xid' => $value])->doesntExist();
if ($checkAccess) {
$appResource = Iam_App_Resources::find($value);
$appResource = Iam_App_Resources::find((int)$value);
$addAppResourceActionLink = Iam_App_Resource_Action_Link::create([
'user_xid' => $id,
'app_resource_xid' => $appResource->id,
@@ -178,4 +201,12 @@ class ManageSubAdminController extends Controller
}
return response()->json(['status' => 200, 'message' => 'User Updated!']);
}
public function editSubAdmin(Request $request)
{
$id = (int)$request->id;
$user = User::find($id);
$accessPage = Iam_App_Resource_Action_Link::where('user_xid', $id)->pluck('app_resource_xid');
return view('Admin.edit-sub-admin', ['user' => $user, 'accessPage' => $accessPage, 'id' => $id]);
}
}