From ce2120374b0f1ab4a5329aff77fdbb6e153888b0 Mon Sep 17 00:00:00 2001 From: sayliraut Date: Wed, 14 Aug 2024 15:51:12 +0530 Subject: [PATCH] changes --- .../Admin/ManageSubAdminController.php | 46 +++++++++++-------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/app/Http/Controllers/Admin/ManageSubAdminController.php b/app/Http/Controllers/Admin/ManageSubAdminController.php index a004eaa..1d7cd46 100644 --- a/app/Http/Controllers/Admin/ManageSubAdminController.php +++ b/app/Http/Controllers/Admin/ManageSubAdminController.php @@ -146,11 +146,19 @@ class ManageSubAdminController extends Controller Use : To update sub admin form. */ try { - + $userId = $request->sub_admin_id; + $user = IamPrincipal::findOrFail($userId); // Fetch the user to update $rules = [ - 'sub_admin_email' => 'required|string|email|max:100|unique:iam_principal,email_address,NULL,id,principal_type_xid,2', - + 'sub_admin_email' => [ + 'required', + 'string', + 'email', + 'max:100', + Rule::unique('iam_principal', 'email_address') + ->ignore($userId) // Ignore the current user's ID + ->whereNull('deleted_at') // Ensure the record is not soft-deleted + ], ]; $messages = [ @@ -167,34 +175,34 @@ class ManageSubAdminController extends Controller DB::beginTransaction(); - $sub_admin = IamPrincipal::find($request->sub_admin_id); - $sub_admin->user_name = 'sub_admin'; - $sub_admin->first_name = $request->input('sub_admin_name'); - $sub_admin->last_name = $request->input('sub_admin_lname'); - $sub_admin->principal_type_xid = 2; - $sub_admin->principal_source_xid = Auth::guard('admin')->user()->principal_source_xid; - $sub_admin->email_address = $request->input('sub_admin_email'); - // $sub_admin->password = bcrypt($request->input('password')); - $sub_admin->save(); + // Update user details + $user->user_name = 'sub_admin'; + $user->first_name = $request->input('sub_admin_name'); + $user->last_name = $request->input('sub_admin_lname'); + $user->principal_type_xid = 2; + $user->principal_source_xid = Auth::guard('admin')->user()->principal_source_xid; + $user->email_address = $request->input('sub_admin_email'); + // Uncomment and set the password if needed + // $user->password = bcrypt($request->input('password')); + $user->save(); + + // Update module links + ManageModuleLink::where('principal_xid', $user->id)->delete(); $moduleIds = $request->input('module_id'); - // dd($moduleIds); - $update_module = ManageModuleLink::where('principal_xid', $sub_admin->id)->delete(); - foreach ($moduleIds as $moduleId) { $sub_admin_permission = new ManageModuleLink; - $sub_admin_permission->principal_xid = $sub_admin->id; + $sub_admin_permission->principal_xid = $user->id; $sub_admin_permission->manage_modules_xid = $moduleId; $sub_admin_permission->save(); } - DB::commit(); + return jsonResponseWithSuccessMessage(__('success.save_data')); - // return $voucher_data; } catch (Exception $e) { DB::rollBack(); - Log::error("restaurant Store Page Load Failed " . $e->getMessage()); + Log::error("Update Sub Admin Failed: " . $e->getMessage()); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500); } }