FIX_TrackerIssuesFixes
This commit is contained in:
parent
1b79f2404b
commit
68edb80f5d
@ -2689,7 +2689,7 @@ class ClientController extends AdminController
|
||||
'errors' => ['required' => 'Please select a Client Branch.']
|
||||
],
|
||||
'policy_type_id' => [
|
||||
'rules' => 'required|is_natural_no_zero',
|
||||
'rules' => ['required', 'is_natural_no_zero'],
|
||||
'errors' => [
|
||||
'required' => 'Policy Type is required.',
|
||||
'is_natural_no_zero' => 'Please select a valid Policy Type.'
|
||||
@ -2707,11 +2707,16 @@ class ClientController extends AdminController
|
||||
'rules' => ['required', 'regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]'],
|
||||
'errors' => [
|
||||
'required' => 'Policy No is required.',
|
||||
'regex_match' => 'Policy No Only letters, numbers, spaces, underscores, hyphens, forward slashes, and backslashes are allowed.'
|
||||
'regex_match' => 'Invalid characters in Policy No.'
|
||||
]
|
||||
],
|
||||
'gst' => [
|
||||
'rules' => 'required|numeric|greater_than_equal_to[0]|less_than_equal_to[100]',
|
||||
'rules' => [
|
||||
'required',
|
||||
'numeric',
|
||||
'greater_than_equal_to[0]',
|
||||
'less_than_equal_to[100]'
|
||||
],
|
||||
'errors' => [
|
||||
'required' => 'GST percentage is required.',
|
||||
'numeric' => 'GST must be a valid number.',
|
||||
@ -2735,16 +2740,31 @@ class ClientController extends AdminController
|
||||
'rules' => 'permit_empty'
|
||||
],
|
||||
'disclaimer' => [
|
||||
'rules' => 'permit_empty|string|min_length[5]',
|
||||
'rules' => ['permit_empty', 'string', 'min_length[5]'],
|
||||
'errors' => ['min_length' => 'Disclaimer should be at least 5 characters long if provided.']
|
||||
],
|
||||
|
||||
// --- CHECKBOXES (Permit Empty) ---
|
||||
'enrolment_visibility' => ['rules' => 'permit_empty'],
|
||||
'is_lgbtq' => ['rules' => 'permit_empty']
|
||||
];
|
||||
|
||||
if (!$this->validate($rules)) {
|
||||
// 2. Run the initial validation
|
||||
$isValid = $this->validate($rules);
|
||||
|
||||
// 3. Perform manual date comparison
|
||||
$start = $this->request->getPost('policy_start_date');
|
||||
$end = $this->request->getPost('policy_end_date');
|
||||
|
||||
$startDate = change_date_format($start ?? null, 'd-m-Y', 'Y-m-d') ?? null;
|
||||
$endDate = change_date_format($end ?? null, 'd-m-Y', 'Y-m-d') ?? null;
|
||||
|
||||
if ($startDate && $endDate && ($endDate < $startDate)) {
|
||||
// Manually push the error into the validator
|
||||
$this->validator->setError('policy_end_date', 'Policy start and end date are mismatched (End date cannot be before Start date).');
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
// 4. Check final status
|
||||
if (!$isValid) {
|
||||
return $this->response->setStatusCode(400)->setJSON([
|
||||
'status' => false,
|
||||
'message' => 'Input validation failed',
|
||||
@ -2851,13 +2871,12 @@ class ClientController extends AdminController
|
||||
public function editClientPolicy()
|
||||
{
|
||||
$rules = [
|
||||
// --- BASIC SELECTS (Required) ---
|
||||
'client_branch_id' => [
|
||||
'rules' => 'required',
|
||||
'errors' => ['required' => 'Please select a Client Branch.']
|
||||
],
|
||||
'policy_type_id' => [
|
||||
'rules' => 'required|is_natural_no_zero',
|
||||
'rules' => ['required', 'is_natural_no_zero'],
|
||||
'errors' => [
|
||||
'required' => 'Policy Type is required.',
|
||||
'is_natural_no_zero' => 'Please select a valid Policy Type.'
|
||||
@ -2871,17 +2890,20 @@ class ClientController extends AdminController
|
||||
'rules' => 'required',
|
||||
'errors' => ['required' => 'Please select a TPA.']
|
||||
],
|
||||
|
||||
// --- TEXT FIELDS (Required & Specific Format) ---
|
||||
'policy_no' => [
|
||||
'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]',
|
||||
'rules' => ['required', 'regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]'],
|
||||
'errors' => [
|
||||
'required' => 'This field is required.',
|
||||
'regex_match' => 'Only letters, numbers, spaces, _, -, /, and \ are allowed.'
|
||||
'required' => 'Policy No is required.',
|
||||
'regex_match' => 'Invalid characters in Policy No.'
|
||||
]
|
||||
],
|
||||
'gst' => [
|
||||
'rules' => 'required|numeric|greater_than_equal_to[0]|less_than_equal_to[100]',
|
||||
'rules' => [
|
||||
'required',
|
||||
'numeric',
|
||||
'greater_than_equal_to[0]',
|
||||
'less_than_equal_to[100]'
|
||||
],
|
||||
'errors' => [
|
||||
'required' => 'GST percentage is required.',
|
||||
'numeric' => 'GST must be a valid number.',
|
||||
@ -2889,47 +2911,47 @@ class ClientController extends AdminController
|
||||
'less_than_equal_to' => 'GST percentage cannot exceed 100%.'
|
||||
]
|
||||
],
|
||||
|
||||
// --- DATE FIELDS (Required) ---
|
||||
'policy_start_date' => [
|
||||
'rules' => 'required|valid_date',
|
||||
'errors' => [
|
||||
'required' => 'Start date is required.',
|
||||
'valid_date' => 'Enter a valid date format (YYYY-MM-DD).'
|
||||
]
|
||||
'rules' => 'required',
|
||||
'errors' => ['required' => 'Start date is required.']
|
||||
],
|
||||
'policy_end_date' => [
|
||||
'rules' => 'required|valid_date',
|
||||
'errors' => [
|
||||
'required' => 'End date is required.',
|
||||
'valid_date' => 'Enter a valid date format (YYYY-MM-DD).'
|
||||
]
|
||||
],
|
||||
|
||||
// --- PERMIT EMPTY FIELDS (Optional) ---
|
||||
'base_policy' => [
|
||||
'rules' => 'permit_empty'
|
||||
'rules' => 'required',
|
||||
'errors' => ['required' => 'End date is required.']
|
||||
],
|
||||
'wellness_plan_id' => [
|
||||
'rules' => 'permit_empty|alpha_numeric',
|
||||
'errors' => [
|
||||
'alpha_numeric' => 'Wellness Plan ID can only contain letters and numbers (no spaces or special characters).'
|
||||
]
|
||||
'errors' => ['alpha_numeric' => 'Wellness Plan ID can only contain letters and numbers.']
|
||||
],
|
||||
'wellness_vendor_id' => [
|
||||
'rules' => 'permit_empty'
|
||||
],
|
||||
'disclaimer' => [
|
||||
'rules' => 'permit_empty|string|min_length[5]',
|
||||
'rules' => ['permit_empty', 'string', 'min_length[5]'],
|
||||
'errors' => ['min_length' => 'Disclaimer should be at least 5 characters long if provided.']
|
||||
],
|
||||
|
||||
// --- CHECKBOXES (Permit Empty) ---
|
||||
'enrolment_visibility' => ['rules' => 'permit_empty'],
|
||||
'is_lgbtq' => ['rules' => 'permit_empty']
|
||||
];
|
||||
|
||||
if (!$this->validate($rules)) {
|
||||
// 2. Run the initial validation
|
||||
$isValid = $this->validate($rules);
|
||||
|
||||
// 3. Perform manual date comparison
|
||||
$start = $this->request->getPost('policy_start_date');
|
||||
$end = $this->request->getPost('policy_end_date');
|
||||
|
||||
$startDate = change_date_format($start ?? null, 'd-m-Y', 'Y-m-d') ?? null;
|
||||
$endDate = change_date_format($end ?? null, 'd-m-Y', 'Y-m-d') ?? null;
|
||||
|
||||
if ($startDate && $endDate && ($endDate < $startDate)) {
|
||||
// Manually push the error into the validator
|
||||
$this->validator->setError('policy_end_date', 'Policy start and end date are mismatched (End date cannot be before Start date).');
|
||||
$isValid = false;
|
||||
}
|
||||
|
||||
// 4. Check final status
|
||||
if (!$isValid) {
|
||||
return $this->response->setStatusCode(400)->setJSON([
|
||||
'status' => false,
|
||||
'message' => 'Input validation failed',
|
||||
|
||||
@ -1216,36 +1216,31 @@ class TicketController extends BaseController
|
||||
'claim_type' => ['label' => 'Claim Type','rules' => 'required',
|
||||
'errors' => ['required' => 'Claim Type is required']
|
||||
],
|
||||
'hospital_name' => ['label' => 'Hospital Name','rules' => 'required',
|
||||
'errors' => ['required' => 'Hospital Name is required']
|
||||
],
|
||||
'hospital_address' => ['label' => 'Hospital Address','rules' => 'required',
|
||||
'errors' => ['required' => 'Hospital Address is required']
|
||||
'hospital_name' => ['label' => 'Hospital Name','rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
|
||||
'errors' => ['required' => 'Hospital Name is required','regex_match' => 'Hospital Name can contain letters, numbers, spaces, and hyphens.']
|
||||
],
|
||||
'hospital_address' => ['label' => 'Hospital Address','rules' => 'permit_empty','errors' => []],
|
||||
'hospital_state' => [
|
||||
'label' => 'hospital_State',
|
||||
'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]',
|
||||
'rules' => 'permit_empty|regex_match[/^[a-zA-Z\s\-]+$/]',
|
||||
'errors' => [
|
||||
'required' => 'Hospital State is required.',
|
||||
'regex_match' => 'Hospital State name can only contain letters, spaces, and hyphens.'
|
||||
]
|
||||
],
|
||||
'hospital_city' => [
|
||||
'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
|
||||
'rules' => 'permit_empty|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
|
||||
'errors' => [
|
||||
'required' => 'Hospital City is required',
|
||||
'regex_match' => 'Hospital City can contain letters, numbers, spaces, and hyphens.'
|
||||
]
|
||||
],
|
||||
'hospital_pin_code' => [
|
||||
'rules' => 'required|numeric|exact_length[6]',
|
||||
'rules' => 'permit_empty|numeric|exact_length[6]',
|
||||
'errors' => [
|
||||
'required' => 'Hospital Pincode is required.',
|
||||
'numeric' => 'Hospital Pincode must be digits only.',
|
||||
'exact_length' => 'Hospital Pincode must be exactly 6 digits.'
|
||||
]
|
||||
],
|
||||
'hospital_phone_no' => ['label' => 'Hospital Phone','rules' => 'required|numeric|min_length[10]',
|
||||
'hospital_phone_no' => ['label' => 'Hospital Phone','rules' => 'permit_empty|numeric|min_length[10]',
|
||||
'errors' => ['min_length' => 'Phone number too short']
|
||||
],
|
||||
'doa' => ['label' => 'DOA', 'rules' => 'required',
|
||||
@ -1551,22 +1546,31 @@ class TicketController extends BaseController
|
||||
'claim_type' => ['label' => 'Claim Type','rules' => 'required',
|
||||
'errors' => ['required' => 'Claim Type is required']
|
||||
],
|
||||
'hospital_name' => ['label' => 'Hospital Name','rules' => 'required',
|
||||
'errors' => ['required' => 'Hospital Name is required']
|
||||
'hospital_name' => ['label' => 'Hospital Name','rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
|
||||
'errors' => ['required' => 'Hospital Name is required','regex_match' => 'Hospital Name can contain letters, numbers, spaces, and hyphens.']
|
||||
],
|
||||
'hospital_address' => ['label' => 'Hospital Address','rules' => 'required',
|
||||
'errors' => ['required' => 'Hospital Address is required']
|
||||
'hospital_address' => ['label' => 'Hospital Address','rules' => 'permit_empty','errors' => []],
|
||||
'hospital_state' => [
|
||||
'label' => 'hospital_State',
|
||||
'rules' => 'permit_empty|regex_match[/^[a-zA-Z\s\-]+$/]',
|
||||
'errors' => [
|
||||
'regex_match' => 'Hospital State name can only contain letters, spaces, and hyphens.'
|
||||
]
|
||||
],
|
||||
'hospital_city' => ['label' => 'Hospital City','rules' => 'required',
|
||||
'errors' => ['required' => 'City is required']
|
||||
'hospital_city' => [
|
||||
'rules' => 'permit_empty|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
|
||||
'errors' => [
|
||||
'regex_match' => 'Hospital City can contain letters, numbers, spaces, and hyphens.'
|
||||
]
|
||||
],
|
||||
'hospital_state' => ['label' => 'Hospital State','rules' => 'required',
|
||||
'errors' => ['required' => 'State is required']
|
||||
'hospital_pin_code' => [
|
||||
'rules' => 'permit_empty|numeric|exact_length[6]',
|
||||
'errors' => [
|
||||
'numeric' => 'Hospital Pincode must be digits only.',
|
||||
'exact_length' => 'Hospital Pincode must be exactly 6 digits.'
|
||||
]
|
||||
],
|
||||
'hospital_pin_code' => ['label' => 'Hospital Pincode','rules' => 'required|numeric|exact_length[6]',
|
||||
'errors' => ['exact_length' => 'Pincode must be 6 digits']
|
||||
],
|
||||
'hospital_phone_no' => ['label' => 'Hospital Phone','rules' => 'required|numeric|min_length[10]',
|
||||
'hospital_phone_no' => ['label' => 'Hospital Phone','rules' => 'permit_empty|numeric|min_length[10]',
|
||||
'errors' => ['min_length' => 'Phone number too short']
|
||||
],
|
||||
'doa' => ['label' => 'DOA', 'rules' => 'required',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user