This commit is contained in:
sayliraut
2024-08-14 15:51:12 +05:30
parent 0f460faa17
commit ce2120374b

View File

@@ -146,11 +146,19 @@ class ManageSubAdminController extends Controller
Use : To update sub admin form. Use : To update sub admin form.
*/ */
try { try {
$userId = $request->sub_admin_id;
$user = IamPrincipal::findOrFail($userId); // Fetch the user to update
$rules = [ $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 = [ $messages = [
@@ -167,34 +175,34 @@ class ManageSubAdminController extends Controller
DB::beginTransaction(); DB::beginTransaction();
$sub_admin = IamPrincipal::find($request->sub_admin_id); // Update user details
$sub_admin->user_name = 'sub_admin'; $user->user_name = 'sub_admin';
$sub_admin->first_name = $request->input('sub_admin_name'); $user->first_name = $request->input('sub_admin_name');
$sub_admin->last_name = $request->input('sub_admin_lname'); $user->last_name = $request->input('sub_admin_lname');
$sub_admin->principal_type_xid = 2; $user->principal_type_xid = 2;
$sub_admin->principal_source_xid = Auth::guard('admin')->user()->principal_source_xid; $user->principal_source_xid = Auth::guard('admin')->user()->principal_source_xid;
$sub_admin->email_address = $request->input('sub_admin_email'); $user->email_address = $request->input('sub_admin_email');
// $sub_admin->password = bcrypt($request->input('password')); // Uncomment and set the password if needed
$sub_admin->save(); // $user->password = bcrypt($request->input('password'));
$user->save();
// Update module links
ManageModuleLink::where('principal_xid', $user->id)->delete();
$moduleIds = $request->input('module_id'); $moduleIds = $request->input('module_id');
// dd($moduleIds);
$update_module = ManageModuleLink::where('principal_xid', $sub_admin->id)->delete();
foreach ($moduleIds as $moduleId) { foreach ($moduleIds as $moduleId) {
$sub_admin_permission = new ManageModuleLink; $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->manage_modules_xid = $moduleId;
$sub_admin_permission->save(); $sub_admin_permission->save();
} }
DB::commit(); DB::commit();
return jsonResponseWithSuccessMessage(__('success.save_data')); return jsonResponseWithSuccessMessage(__('success.save_data'));
// return $voucher_data;
} catch (Exception $e) { } catch (Exception $e) {
DB::rollBack(); 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); return jsonResponseWithErrorMessage(__('auth.something_went_wrong'), 500);
} }
} }