diff --git a/app/Http/Controllers/Admin/ManageSubAdminController.php b/app/Http/Controllers/Admin/ManageSubAdminController.php index 9d4e1c6..1e067c2 100644 --- a/app/Http/Controllers/Admin/ManageSubAdminController.php +++ b/app/Http/Controllers/Admin/ManageSubAdminController.php @@ -67,73 +67,55 @@ class ManageSubAdminController extends Controller public function addSubAdmin(Request $request) { - // dd($request->all()); - $validator = Validator::make($request->post(), [ + $validator = Validator::make($request->all(), [ 'name' => 'required', - // 'address' => 'required', 'mobile_number' => 'required', 'password' => 'required', - 'email' => 'required', + 'email' => 'required|email|unique:users,email', ], [ - 'unique' => ':attribute should be unique', - 'required' => ':attribute is required' + 'required' => ':attribute is required', + 'unique' => 'The :attribute has already been taken.', + 'email' => 'The :attribute must be a valid email address.', ]); - $validationMessage = validationErrorMessage($validator); - if ($validationMessage) { - return response()->json(['status' => 400, 'message' => $validationMessage]); - } - // $principalType = Iam_Principal_Type::find($request->role_type); - $emailAlreadyExists = User::where('email',$request->email)->exists(); - $contactAlreadyExists = User::where('contact_number',$request->contact_number)->exists(); - if($emailAlreadyExists) - { - return response()->json(['status' => 400, 'message' =>'email should be unique']); - } - if($contactAlreadyExists) - { - return response()->json(['status' => 400, 'message' =>'Mobile number should be unique']); + + if ($validator->fails()) { + return response()->json(['status' => 400, 'message' => $validator->errors()->first()]); } - // defining user type - if ($request->role_type == 1) { - $roleType = 1; - } else if ($request->role_type == 2) { - $roleType = 2; - } else { - $roleType = 0; + if(User::where('contact_number', $request->mobile_number)->exists()) { + return response()->json(['status' => 400, 'message' => 'Mobile number should be unique']); } - // dd(Hash::make($request->password)); - $addUser = User::insertGetId([ - // 'principal_type_xid' => $principalType->id, + + $roleType = $request->role_type ?? 0; // Default role type + + $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'contact_number' => $request->mobile_number, 'password' => Hash::make($request->password), 'role' => $roleType, - 'created_at' => Carbon::now(), - 'updated_at' => Carbon::now(), ]); - // $addUser = null; - if ($addUser == null) { - return response()->json(['status' => 400, 'message' => 'Something error!']); + + if (!$user) { + return response()->json(['status' => 400, 'message' => 'Something went wrong!']); } - // dd('hello'); - foreach ($request->all() as $key => $value) { - if ($key == '_token' || $key == 'name' || $key == 'email' || $key == 'mobile_number' || $key == 'role_type' || $key == 'password') { - continue; - } else { - // dd($value ); - $appResource = Iam_App_Resources::find((int)$value); + + // Assuming $request->resource_ids is an array of resource IDs to assign to the user + foreach ($request->resource_ids ?? [] as $resourceId) { + $appResource = Iam_App_Resources::find($resourceId); + if ($appResource) { $addAppResourceActionLink = Iam_App_Resource_Action_Link::create([ - 'user_xid' => $addUser, + 'user_xid' => $user->id, 'app_resource_xid' => $appResource->id, ]); } } + return response()->json(['status' => 200, 'message' => 'User Added!']); } + public function viewSubAdmin(Request $request) { // dd((int)$request->id); diff --git a/app/Http/Controllers/Admin/ManageUserProductController.php b/app/Http/Controllers/Admin/ManageUserProductController.php index b5b847b..3e9eaca 100644 --- a/app/Http/Controllers/Admin/ManageUserProductController.php +++ b/app/Http/Controllers/Admin/ManageUserProductController.php @@ -959,6 +959,7 @@ class ManageUserProductController extends Controller public function updateAlternativeMonthlyUpdate(Request $request) { + // dd($request->update_alternative_id); $validator = Validator::make($request->all(), [ "update_alternative_id" => "required", "commitment_amount" => "required", @@ -1010,8 +1011,28 @@ class ManageUserProductController extends Controller array_push($statementReportsArray, $statementReportName); } + $oldStatementReport = MonthlyUpdateAlternativeInvestmentFund::where('id', $request->update_alternative_id)->first(); + $statementReport = $oldStatementReport->getRawOriginal()['statement_reports']; + // dd($statementReport); + $ltrim = ltrim($statementReport,'['); + $rtrim = rtrim($ltrim,']'); + $explode = explode(',',$rtrim); + $oldStatement = []; + + foreach($explode as $report) + { + // dd($report); + $ltrimOfReport = ltrim($report,'"'); + $rtrimOfReport = rtrim($ltrimOfReport,'"'); + // dd($rtrimOfReport); + array_push($oldStatement,$report); + } + + // merge array + $newStatementReport = array_merge($oldStatement,$statementReportsArray); + MonthlyUpdateAlternativeInvestmentFund::where('id', $request->update_alternative_id)->update([ - "statement_reports" => json_encode($statementReportsArray), + "statement_reports" => json_encode($newStatementReport), ]); } @@ -1206,10 +1227,15 @@ class ManageUserProductController extends Controller $statementReportName = $key . $request->id . time() . '.' . $statementReport->extension(); $statementReport->storeAs('files/monthly-update', $statementReportName); array_push($statementReportsArray, $statementReportName); - MonthlyUpdateFractionalRealEstate::where('id', $request->id)->update([ - "statement_reports" => json_encode($statementReportsArray), - ]); } + $oldStatementReport = MonthlyUpdateFractionalRealEstate::where('id', $request->id)->first()->getRawOriginal('statement_reports'); + // merge array + $newStatementReport = $oldStatementReport + $statementReportsArray->statement_reports; + // dd($oldStatementReport,$newStatementReport); + // store new with old + MonthlyUpdateFractionalRealEstate::where('id', $request->id)->update([ + "statement_reports" => json_encode($newStatementReport), + ]); } @@ -1279,16 +1305,17 @@ class ManageUserProductController extends Controller public function deleteStatementReport(Request $request) { - $fileName = $request->input('fileName'); + $fileName = rtrim($request->input('fileName'),'❌'); $id = $request->input('id'); + // dd($fileName,$id); // Find the statement_report record - $statementReport = MonthlyUpdateAlternativeInvestmentFund::findOrFail($id); + $statementReport = MonthlyUpdateAlternativeInvestmentFund::where('id',$id)->first()->getRawOriginal()['statement_reports']; // Get the statement_reports array - $statementReports = $statementReport->statement_reports; - // $fileNames = json_decode($statementReports, true); // Decode JSON string to array - $fileNames = array_map('basename', $statementReports); + // dd(json_decode($statementReport)); + $fileNames = json_decode($statementReport); + // Find the index of the file name to be deleted $index = array_search($fileName, $fileNames); diff --git a/resources/views/Admin/Pages/manage_leads/edit-lead.blade.php b/resources/views/Admin/Pages/manage_leads/edit-lead.blade.php index 6645d7f..5c9f5b5 100644 --- a/resources/views/Admin/Pages/manage_leads/edit-lead.blade.php +++ b/resources/views/Admin/Pages/manage_leads/edit-lead.blade.php @@ -3961,15 +3961,15 @@ // street: { // charactersOnly: true // Using the custom validation rule for individual characters // }, - // country: { - // charactersOnly: true // Using the custom validation rule for individual characters - // }, - // city: { - // charactersOnly: true // Using the custom validation rule for individual characters - // }, - // zip_code: { - // numbersOnly: true // Using the custom validation rule for individual characters - // }, + country: { + charactersOnly: true // Using the custom validation rule for individual characters + }, + city: { + charactersOnly: true // Using the custom validation rule for individual characters + }, + zip_code: { + numbersOnly: true // Using the custom validation rule for individual characters + }, // description: { // charactersOnly: true // Using the custom validation rule for individual characters // }, @@ -3996,9 +3996,9 @@ // industry: "Please enter only alphabetical characters", // total_employees: "Please enter only numbers", // street: "Please enter only alphabetical characters", - // country: "Please enter only alphabetical characters", - // city: "Please enter only alphabetical characters", - // zip_code: "Please enter only numbers", + country: "Please enter only alphabetical characters", + city: "Please enter only alphabetical characters", + zip_code: "Please enter only numbers", // description: "Please enter only alphabetical characters", // website: "Please enter valid url", // annual_revenue: "Please enter a valid number format", diff --git a/resources/views/Admin/Pages/manage_leads/view-lead.blade.php b/resources/views/Admin/Pages/manage_leads/view-lead.blade.php index 17f434e..7c4209e 100644 --- a/resources/views/Admin/Pages/manage_leads/view-lead.blade.php +++ b/resources/views/Admin/Pages/manage_leads/view-lead.blade.php @@ -505,9 +505,12 @@