Merge branch 'dev' of bitbucket.org:jubilian/nhance into dev
This commit is contained in:
commit
618e210035
@ -719,6 +719,7 @@ $routes->group('test', function($routes) {
|
||||
$routes->get('membervalidation', 'TestingController::membervalidation');
|
||||
$routes->get('generateExcel', 'TestingController::generateExcel');
|
||||
$routes->get('logo_renaming','TestingController::logo_renaming');
|
||||
// $routes->get('createDefaultMailTempalteInDB','TestingController::createDefaultMailTempalteInDB');
|
||||
});
|
||||
$routes->cli('cli/testcli', 'TestingController::testcli');
|
||||
|
||||
|
||||
@ -869,6 +869,12 @@ class ClientController extends AdminController
|
||||
|
||||
if ($insert) {
|
||||
$client_data = $this->clientModel->where(['id' => $insert, 'is_active' => 1])->first();
|
||||
|
||||
$client_id = $insert;
|
||||
$default_template_creation = $this->createDefaultMailTemplate($client_id , $client_data);
|
||||
if($default_template_creation == false){
|
||||
$this->myLogger->logme('error', 'Default Mail Template Creation Failed for Client ID: {data}', ['data' => $client_id]);
|
||||
}
|
||||
return $this->respond(['status' => true, 'code' => 200, 'data' => $client_data], 200);
|
||||
} else {
|
||||
return $this->respond(['status' => false, 'code' => 404, 'message' => 'no data found'], 200);
|
||||
@ -7732,9 +7738,76 @@ class ClientController extends AdminController
|
||||
return true;
|
||||
}
|
||||
|
||||
public function createDefaultMailTemplate($client_id , $client_data){
|
||||
|
||||
$member_welcome_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_welcome_mail')->get()->getResultArray()[0]??[];
|
||||
|
||||
$member_remainder_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_reminder_mail')->get()->getResultArray()[0]??[];
|
||||
|
||||
$member_review_and_summary_mail_template = $this->notificationModel->where('client_id',NULL)->where('template_name','member_review_and_summary_mail')->get()->getResultArray()[0]??[];
|
||||
|
||||
$default_member_welcome_mail_template = [
|
||||
'client_id' => $client_id,
|
||||
'template_name' => 'member_welcome_mail',
|
||||
'subject' => $member_welcome_mail_template['subject']??'',
|
||||
'mail_content' => $member_welcome_mail_template['mail_content']??'',
|
||||
'mail_content_json'=> $member_welcome_mail_template['mail_content_json']??'',
|
||||
|
||||
'created_by' => get_session_userid(),
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_by' => null,
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
'mail_content_copy'=> null
|
||||
];
|
||||
|
||||
$default_member_remainder_mail_template = [
|
||||
'client_id' => $client_id,
|
||||
'template_name' => 'member_reminder_mail',
|
||||
'subject' => $member_remainder_mail_template['subject']??'',
|
||||
'mail_content' => $member_remainder_mail_template['mail_content']??'',
|
||||
'mail_content_json'=> $member_remainder_mail_template['mail_content_json']??'',
|
||||
|
||||
'created_by' => get_session_userid(),
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_by' => null,
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
'mail_content_copy'=> null
|
||||
];
|
||||
|
||||
$default_member_review_and_summary_mail_template = [
|
||||
'client_id' => $client_id,
|
||||
'template_name' => 'member_review_and_summary_mail',
|
||||
'subject' => $member_review_and_summary_mail_template['subject']??'',
|
||||
'mail_content' => $member_review_and_summary_mail_template['mail_content']??'',
|
||||
'mail_content_json'=> $member_review_and_summary_mail_template['mail_content_json']??'',
|
||||
|
||||
'created_by' => get_session_userid(),
|
||||
'created_at' => date('Y-m-d H:i:s'),
|
||||
'updated_by' => null,
|
||||
'updated_at' => date('Y-m-d H:i:s'),
|
||||
'mail_content_copy'=> null
|
||||
];
|
||||
|
||||
$this->myLogger->logme('error', 'Default Mail Template Data ' . json_encode([
|
||||
$default_member_welcome_mail_template,
|
||||
$default_member_remainder_mail_template,
|
||||
$default_member_review_and_summary_mail_template
|
||||
], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
|
||||
|
||||
|
||||
|
||||
$default_templates_inserted = $this->notificationModel->insertBatch([
|
||||
$default_member_welcome_mail_template,
|
||||
$default_member_remainder_mail_template,
|
||||
$default_member_review_and_summary_mail_template
|
||||
]);
|
||||
|
||||
|
||||
return $default_templates_inserted ? true : false;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -362,18 +362,18 @@ class TestingController extends BaseController
|
||||
|
||||
$pre_clients_list = $this->getNonDuplicatePreClients();
|
||||
|
||||
$log_post_clients_list = $post_clients_list ;
|
||||
$log_post_clients_list = $post_clients_list;
|
||||
|
||||
$log_pre_clients_list = $pre_clients_list ;
|
||||
$log_pre_clients_list = $pre_clients_list;
|
||||
|
||||
log_message('error', 'Post Clients to be processed: ' . count($log_post_clients_list));
|
||||
log_message('error', 'Pre Clients to be processed: ' . count($log_pre_clients_list));
|
||||
|
||||
|
||||
|
||||
$matched_Count = 0 ;
|
||||
$matched_Count = 0;
|
||||
$expected_match_count = min(count($post_clients_list), count($pre_clients_list));
|
||||
|
||||
|
||||
|
||||
if (
|
||||
!empty($pre_clients_list) &&
|
||||
@ -444,31 +444,27 @@ class TestingController extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
log_message('error', 'Expected Match Count : ' . $expected_match_count);
|
||||
log_message('error', 'Total Matched Count: ' . $matched_Count);
|
||||
log_message('error', 'Total UnMatched Count: ' . $expected_match_count - $matched_Count);
|
||||
|
||||
|
||||
log_message('error','unmatched_reocrds');
|
||||
|
||||
|
||||
log_message('error', 'unmatched_reocrds');
|
||||
|
||||
$log_post_clients_list = array_values($log_post_clients_list);
|
||||
$log_pre_clients_list = array_values($log_pre_clients_list);
|
||||
|
||||
if( (count($log_pre_clients_list) < count($log_post_clients_list))){
|
||||
log_message('error',"unmatched records count from pre- ". count($log_pre_clients_list));
|
||||
log_message('error',print_r($log_pre_clients_list,true));
|
||||
if ((count($log_pre_clients_list) < count($log_post_clients_list))) {
|
||||
log_message('error', "unmatched records count from pre- " . count($log_pre_clients_list));
|
||||
log_message('error', print_r($log_pre_clients_list, true));
|
||||
} else {
|
||||
log_message('error',"unmatched records count from post - ".count($log_post_clients_list));
|
||||
log_message('error',print_r($log_post_clients_list,true));
|
||||
log_message('error', "unmatched records count from post - " . count($log_post_clients_list));
|
||||
log_message('error', print_r($log_post_clients_list, true));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return $this->response->setJSON(['status' => 'success', 'message' => 'Client and Branch mapping completed.'])->setStatusCode(200);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -535,7 +531,7 @@ class TestingController extends BaseController
|
||||
return $results;
|
||||
}
|
||||
public function membervalidation($lead_id = 329)
|
||||
{
|
||||
{
|
||||
$lead_controll = new LeadsController();
|
||||
// $lead_controll->getMemberDataExcelFileErrors();
|
||||
$res = $lead_controll->memberDataListExcelFileFormatValidation(['lead_id' => $lead_id]);
|
||||
@ -543,18 +539,81 @@ class TestingController extends BaseController
|
||||
}
|
||||
|
||||
private $firstNames = [
|
||||
'Rajesh', 'Priya', 'Amit', 'Sneha', 'Vikram', 'Anjali', 'Rahul', 'Deepika',
|
||||
'Sanjay', 'Kavita', 'Arun', 'Pooja', 'Manoj', 'Nisha', 'Suresh', 'Meera',
|
||||
'Karthik', 'Divya', 'Ravi', 'Lakshmi', 'Anand', 'Swathi', 'Vijay', 'Rekha',
|
||||
'Ashok', 'Sangeetha', 'Prakash', 'Uma', 'Ramesh', 'Vani', 'Kumar', 'Radha',
|
||||
'Dinesh', 'Shanti', 'Ganesh', 'Parvati', 'Mohan', 'Sita', 'Arjun', 'Geetha'
|
||||
'Rajesh',
|
||||
'Priya',
|
||||
'Amit',
|
||||
'Sneha',
|
||||
'Vikram',
|
||||
'Anjali',
|
||||
'Rahul',
|
||||
'Deepika',
|
||||
'Sanjay',
|
||||
'Kavita',
|
||||
'Arun',
|
||||
'Pooja',
|
||||
'Manoj',
|
||||
'Nisha',
|
||||
'Suresh',
|
||||
'Meera',
|
||||
'Karthik',
|
||||
'Divya',
|
||||
'Ravi',
|
||||
'Lakshmi',
|
||||
'Anand',
|
||||
'Swathi',
|
||||
'Vijay',
|
||||
'Rekha',
|
||||
'Ashok',
|
||||
'Sangeetha',
|
||||
'Prakash',
|
||||
'Uma',
|
||||
'Ramesh',
|
||||
'Vani',
|
||||
'Kumar',
|
||||
'Radha',
|
||||
'Dinesh',
|
||||
'Shanti',
|
||||
'Ganesh',
|
||||
'Parvati',
|
||||
'Mohan',
|
||||
'Sita',
|
||||
'Arjun',
|
||||
'Geetha'
|
||||
];
|
||||
|
||||
private $lastNames = [
|
||||
'Kumar', 'Sharma', 'Singh', 'Patel', 'Reddy', 'Nair', 'Iyer', 'Krishnan',
|
||||
'Rao', 'Gupta', 'Verma', 'Agarwal', 'Joshi', 'Mehta', 'Desai', 'Pillai',
|
||||
'Menon', 'Bhat', 'Naidu', 'Varma', 'Malhotra', 'Kapoor', 'Chopra', 'Saxena',
|
||||
'Pandey', 'Mishra', 'Tiwari', 'Dubey', 'Sinha', 'Jain', 'Shah', 'Thakur'
|
||||
'Kumar',
|
||||
'Sharma',
|
||||
'Singh',
|
||||
'Patel',
|
||||
'Reddy',
|
||||
'Nair',
|
||||
'Iyer',
|
||||
'Krishnan',
|
||||
'Rao',
|
||||
'Gupta',
|
||||
'Verma',
|
||||
'Agarwal',
|
||||
'Joshi',
|
||||
'Mehta',
|
||||
'Desai',
|
||||
'Pillai',
|
||||
'Menon',
|
||||
'Bhat',
|
||||
'Naidu',
|
||||
'Varma',
|
||||
'Malhotra',
|
||||
'Kapoor',
|
||||
'Chopra',
|
||||
'Saxena',
|
||||
'Pandey',
|
||||
'Mishra',
|
||||
'Tiwari',
|
||||
'Dubey',
|
||||
'Sinha',
|
||||
'Jain',
|
||||
'Shah',
|
||||
'Thakur'
|
||||
];
|
||||
|
||||
private $relationships = ['Self', 'Spouse', 'Son', 'Daughter', 'Father', 'Mother'];
|
||||
@ -611,9 +670,9 @@ class TestingController extends BaseController
|
||||
|
||||
for ($i = 1; $i <= $totalRecords; $i++) {
|
||||
$row = $i + 1; // Start from row 2 (row 1 is header)
|
||||
|
||||
|
||||
$record = $this->generateSampleRecord($i);
|
||||
|
||||
|
||||
$sheet->setCellValue('A' . $row, $record['sl_no']);
|
||||
$sheet->setCellValue('B' . $row, $record['emp_code']);
|
||||
$sheet->setCellValue('C' . $row, $record['name']);
|
||||
@ -664,33 +723,33 @@ class TestingController extends BaseController
|
||||
$firstName = $this->firstNames[array_rand($this->firstNames)];
|
||||
$lastName = $this->lastNames[array_rand($this->lastNames)];
|
||||
$name = $firstName . ' ' . $lastName;
|
||||
|
||||
|
||||
$relationship = $this->relationships[array_rand($this->relationships)];
|
||||
$gender = $this->genders[array_rand($this->genders)];
|
||||
|
||||
|
||||
// Generate random age between 18 and 65
|
||||
$age = rand(18, 65);
|
||||
|
||||
|
||||
// Calculate DOB based on age
|
||||
$year = date('Y') - $age;
|
||||
$month = str_pad(rand(1, 12), 2, '0', STR_PAD_LEFT);
|
||||
$day = str_pad(rand(1, 28), 2, '0', STR_PAD_LEFT);
|
||||
$dob = "{$day}-{$month}-{$year}";
|
||||
|
||||
|
||||
// Generate employee code
|
||||
$empCode = 'EMP' . str_pad($index, 6, '0', STR_PAD_LEFT);
|
||||
|
||||
|
||||
// Generate email
|
||||
$email = strtolower($firstName . '.' . $lastName . $index) . '@' . $this->domains[array_rand($this->domains)];
|
||||
|
||||
|
||||
// Generate mobile number (Indian format)
|
||||
$mobile = '+91' . rand(7000000000, 9999999999);
|
||||
|
||||
|
||||
// Generate insurance amounts
|
||||
$siOptions = [100000, 200000, 300000, 500000, 1000000];
|
||||
$si = $siOptions[array_rand($siOptions)];
|
||||
$si_enhancement = rand(0, 1) ? rand(50000, 200000) : 0;
|
||||
|
||||
|
||||
$proposed_si_1 = $si + rand(100000, 500000);
|
||||
$proposed_si_2 = $proposed_si_1 + rand(100000, 500000);
|
||||
$proposed_si_3 = $proposed_si_2 + rand(100000, 500000);
|
||||
@ -716,64 +775,67 @@ class TestingController extends BaseController
|
||||
}
|
||||
|
||||
|
||||
public function logo_renaming(){
|
||||
|
||||
$directory = ROOTPATH . 'public/uploads/logo/';
|
||||
public function logo_renaming()
|
||||
{
|
||||
|
||||
if (!is_dir($directory)) {
|
||||
die("Directory not found: $directory");
|
||||
$directory = ROOTPATH . 'public/uploads/logo/';
|
||||
|
||||
if (!is_dir($directory)) {
|
||||
die("Directory not found: $directory");
|
||||
}
|
||||
|
||||
$files = scandir($directory);
|
||||
|
||||
$client_logo_files = $this->get_client_logo_files();
|
||||
|
||||
$rename_files = "";
|
||||
$failed_rename_files = "";
|
||||
|
||||
foreach ($files as $file) {
|
||||
// Skip system entries
|
||||
if ($file === '.' || $file === '..') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$files = scandir($directory);
|
||||
|
||||
$client_logo_files = $this->get_client_logo_files();
|
||||
$oldPath = $directory . $file;
|
||||
|
||||
$rename_files = "";
|
||||
$failed_rename_files = "";
|
||||
if (is_file($oldPath) && in_array(trim($file), $client_logo_files)) {
|
||||
|
||||
foreach ($files as $file) {
|
||||
// Skip system entries
|
||||
if ($file === '.' || $file === '..' ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Remove all spaces from filename
|
||||
$newFileName = preg_replace('/\s+|\x{00A0}|\x{200B}|\x{200C}|\x{200D}|\x{FEFF}/u', '', $file);
|
||||
|
||||
$oldPath = $directory . $file;
|
||||
$newPath = $directory . $newFileName;
|
||||
|
||||
if (is_file($oldPath) && in_array(trim($file) , $client_logo_files)) {
|
||||
|
||||
// Remove all spaces from filename
|
||||
$newFileName = preg_replace('/\s+|\x{00A0}|\x{200B}|\x{200C}|\x{200D}|\x{FEFF}/u', '', $file);
|
||||
|
||||
$newPath = $directory . $newFileName;
|
||||
|
||||
// Only rename if the name changed
|
||||
if ($oldPath !== $newPath) {
|
||||
if (rename($oldPath, $newPath)) {
|
||||
$rename_files .= "\n Renamed: $file → $newFileName \n";
|
||||
} else {
|
||||
$failed_rename_files .= "\n Failed file: $file \n";
|
||||
}
|
||||
// Only rename if the name changed
|
||||
if ($oldPath !== $newPath) {
|
||||
if (rename($oldPath, $newPath)) {
|
||||
$rename_files .= "\n Renamed: $file → $newFileName \n";
|
||||
} else {
|
||||
$failed_rename_files .= "\n Failed file: $file \n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$dbUpdated = $this->update_client_logo_files();
|
||||
$dbUpdated = $this->update_client_logo_files();
|
||||
|
||||
log_message('error', 'Renamed Files: ' . $rename_files);
|
||||
log_message('error', 'Failed Renames: ' . $failed_rename_files);
|
||||
log_message('error', 'Database Update Status: ' . ($dbUpdated ? 'Success' : 'No changes made'));
|
||||
log_message('error', 'Renamed Files: ' . $rename_files);
|
||||
log_message('error', 'Failed Renames: ' . $failed_rename_files);
|
||||
log_message('error', 'Database Update Status: ' . ($dbUpdated ? 'Success' : 'No changes made'));
|
||||
|
||||
return $this->response->setJSON(['status' => 'success',
|
||||
return $this->response->setJSON([
|
||||
'status' => 'success',
|
||||
'message' => 'Logo renaming completed. kindly check backend logs for details',
|
||||
'data' => [
|
||||
'renamed_files' => $rename_files,
|
||||
'failed_renames' => $failed_rename_files
|
||||
]
|
||||
])->setStatusCode(200);
|
||||
])->setStatusCode(200);
|
||||
}
|
||||
|
||||
public function get_client_logo_files(){
|
||||
public function get_client_logo_files()
|
||||
{
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
@ -783,14 +845,15 @@ class TestingController extends BaseController
|
||||
|
||||
$results = $query->getResultArray() ?? [];
|
||||
|
||||
$files = array_map(function($item) {
|
||||
$files = array_map(function ($item) {
|
||||
return trim($item['client_logo']);
|
||||
}, $results);
|
||||
|
||||
return $files;
|
||||
}
|
||||
|
||||
public function update_client_logo_files(){
|
||||
public function update_client_logo_files()
|
||||
{
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
@ -803,9 +866,63 @@ class TestingController extends BaseController
|
||||
$query = $db->query($sql);
|
||||
|
||||
return $db->affectedRows() > 0;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function createDefaultMailTempalteInDB()
|
||||
{
|
||||
$postDB = \Config\Database::connect(); // target DB
|
||||
$preDB = \Config\Database::connect('preDB'); // source DB
|
||||
|
||||
// Templates to copy
|
||||
$templateNames = [
|
||||
'member_welcome_mail',
|
||||
'member_reminder_mail',
|
||||
'member_review_and_summary_mail'
|
||||
];
|
||||
|
||||
|
||||
|
||||
|
||||
foreach ($templateNames as $template) {
|
||||
|
||||
$exists = $postDB->table('notifications')
|
||||
->where('client_id', NULL)
|
||||
->where('template_name', $template)
|
||||
->countAllResults();
|
||||
|
||||
if ($exists > 0) {
|
||||
continue; // Skip if already inserted
|
||||
}
|
||||
|
||||
// Fetch template from preDB
|
||||
$templateData = $preDB->table('notifications')
|
||||
->where('client_id', NULL)
|
||||
->where('template_name', $template)
|
||||
->get()
|
||||
->getRowArray();
|
||||
|
||||
if (!empty($templateData)) {
|
||||
|
||||
// Remove ID to avoid duplicate primary key issues
|
||||
unset($templateData['id']);
|
||||
|
||||
// Set created_by and timestamps if needed
|
||||
$templateData['client_id'] = NULL;
|
||||
$templateData['created_by'] = 1;
|
||||
$templateData['cretaed_at'] = date('Y-m-d H:i:s');
|
||||
$templateData['updated_by'] = NULL;
|
||||
$templateData['updated_at'] = NULL;
|
||||
|
||||
// Insert into postDB
|
||||
$postDB->table('notifications')->insert($templateData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $this->response->setJSON(['message'=>"Created Default Mail Tempalte In DB "])->setStatusCode(200);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user