Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
cc53f55c04
@ -73,11 +73,11 @@ class AppContentManagementController extends AdminController
|
||||
]
|
||||
],
|
||||
'client_id' => [
|
||||
'rules' => 'required|integer|is_natural_no_zero',
|
||||
'rules' => 'required|integer|is_natural',
|
||||
'errors' => [
|
||||
'required' => 'Client is required',
|
||||
'integer' => 'Invalid client selected',
|
||||
'is_natural_no_zero' => 'Invalid client selected'
|
||||
'required' => 'Client is required',
|
||||
'integer' => 'Invalid client selected',
|
||||
'is_natural' => 'Invalid client selected',
|
||||
]
|
||||
],
|
||||
'advertise_image' => [
|
||||
@ -85,15 +85,13 @@ class AppContentManagementController extends AdminController
|
||||
. 'is_image[advertise_image]'
|
||||
. '|mime_in[advertise_image,image/jpg,image/jpeg,image/png]'
|
||||
. '|max_size[advertise_image,200]'
|
||||
. '|min_dims[advertise_image,1640,664]'
|
||||
. '|max_dims[advertise_image,1640,664]',
|
||||
'errors' => [
|
||||
'uploaded' => 'Image is required',
|
||||
'is_image' => 'File must be an image',
|
||||
'mime_in' => 'Only JPG, JPEG, PNG allowed',
|
||||
'max_size' => 'Image size must not exceed 200 KB',
|
||||
'min_dims' => 'Image dimensions must be exactly 1640x664 pixels',
|
||||
'max_dims' => 'Image dimensions must be exactly 1640x664 pixels',
|
||||
'max_dims' => 'Image dimensions must not exceed 1640x664 pixels',
|
||||
]
|
||||
],
|
||||
];
|
||||
@ -110,9 +108,11 @@ class AppContentManagementController extends AdminController
|
||||
$file = $this->request->getFile('advertise_image');
|
||||
$client_id = (int)($sanitized_post_data['client_id'] ?? 0);
|
||||
|
||||
$clientExists = $this->clientModel->where('id', $client_id)->where('is_active', 1)->first();
|
||||
if (!$clientExists) {
|
||||
return $this->respond(['status' => false, 'message' => 'Invalid client selected.'], 400);
|
||||
if ($client_id !== 0) {
|
||||
$clientExists = $this->clientModel->where('id', $client_id)->where('is_active', 1)->first();
|
||||
if (!$clientExists) {
|
||||
return $this->respond(['status' => false, 'message' => 'Invalid client selected.'], 400);
|
||||
}
|
||||
}
|
||||
|
||||
if (!$file || !$file->isValid()) {
|
||||
@ -123,6 +123,11 @@ class AppContentManagementController extends AdminController
|
||||
return $this->respond(['status' => false, 'message' => 'Only JPG, JPEG, PNG files are allowed.'], 400);
|
||||
}
|
||||
|
||||
$dimInfo = @getimagesize($file->getTempName());
|
||||
if ($dimInfo === false || (int) $dimInfo[0] !== 1640 || (int) $dimInfo[1] !== 664) {
|
||||
return $this->respond(['status' => false, 'message' => 'Image dimensions must be exactly 1640x664 pixels.'], 400);
|
||||
}
|
||||
|
||||
$fileName = sanitize_upload_filename($file->getClientName());
|
||||
$existing = $this->addImgModel->where('name', $fileName)->where('client_id', $client_id)->where('is_active', 1)->first();
|
||||
if($existing){ return $this->respond(['status' => false, 'message' => 'This file has already been uploaded in active state.'], 400); }
|
||||
|
||||
@ -497,6 +497,7 @@ class EmployeeController extends AdminController
|
||||
batch_files.is_active,
|
||||
batch_files.amount,
|
||||
batch_files.status,
|
||||
batch_files.icici_status_flag,
|
||||
batch_files.client_branch_id,
|
||||
insurers.short_name as insurer_short_name,
|
||||
tpa.short_name as tpa_short_name,
|
||||
|
||||
@ -256,7 +256,9 @@ class EmployeeMultiEventServiceController extends BaseController
|
||||
'is_mandatory' => ['A', 'DA', 'D'],
|
||||
'data_type' => 'str',
|
||||
'format' => null,
|
||||
'allowed_values' => null
|
||||
'allowed_values' => null,
|
||||
'custom' => 'check_change_event',
|
||||
'params' => ['row', 'file']
|
||||
],
|
||||
'date_of_exit' => [
|
||||
'col_idx' => 16,
|
||||
@ -2348,6 +2350,7 @@ class EmployeeMultiEventServiceController extends BaseController
|
||||
// echo 'insert emp';
|
||||
} else {
|
||||
$value['emp_status'] = 'active';
|
||||
$value['change_event'] = normalize_file_action($file['action']);
|
||||
$value['created_by'] = $file['created_by'];
|
||||
$value['client_branch_id'] = $file['client_branch_id'];
|
||||
$value['family_floater_key'] = generate_family_floater_key($value['relationship']);
|
||||
|
||||
@ -259,7 +259,10 @@ class EmployeeServiceController extends AdminController
|
||||
'is_mandatory' => ['A', 'DA', 'D'],
|
||||
'data_type' => 'str',
|
||||
'format' => null,
|
||||
'allowed_values' => null
|
||||
'allowed_values' => null,
|
||||
'custom' => 'check_change_event',
|
||||
'params' => ['row', 'file']
|
||||
|
||||
],
|
||||
'date_of_exit' => [
|
||||
'col_idx' => 16,
|
||||
@ -1957,6 +1960,7 @@ class EmployeeServiceController extends AdminController
|
||||
else
|
||||
{
|
||||
$value['emp_status'] = 'active';
|
||||
$value['change_event'] = normalize_file_action($file['action']);
|
||||
$value['created_by'] = $file['created_by'];
|
||||
$value['client_branch_id'] = $file['client_branch_id'];
|
||||
$value['family_floater_key'] = generate_family_floater_key($value['relationship']);
|
||||
|
||||
@ -4149,12 +4149,18 @@ class TicketController extends BaseController
|
||||
|
||||
|
||||
$status = 'inprogress';
|
||||
$claim_dump_date = null;
|
||||
$claim_dump_date_input = trim((string) ($this->request->getPost('claim_dump_date') ?? ''));
|
||||
if (!empty($claim_dump_date_input)) {
|
||||
$claim_dump_date = change_date_format($claim_dump_date_input, 'd/m/Y', 'Y-m-d');
|
||||
}
|
||||
$insert_data = [
|
||||
'file_name' => $filename,
|
||||
'status' => $status,
|
||||
'client_id' => !empty($this->request->getPost('client_id')) ? $this->request->getPost('client_id') : null,
|
||||
'client_policy_id' => !empty($this->request->getPost('client_policy_id')) ? $this->request->getPost('client_policy_id') : null,
|
||||
'tpa_id' => !empty($this->request->getPost('tpa_id')) ? $this->request->getPost('tpa_id') : null,
|
||||
'claim_dump_date' => $claim_dump_date,
|
||||
];
|
||||
|
||||
$file_id = $this->claimDumpFileModel->insert($insert_data);
|
||||
|
||||
@ -2582,6 +2582,72 @@ if (!function_exists('normalizeGender')) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('check_change_event')) {
|
||||
function check_change_event($row, $file)
|
||||
{
|
||||
$change_event = isset($row[15]) ? $row[15] : '';
|
||||
$action = isset($file['action']) ? $file['action'] : '';
|
||||
$allowed_values = [
|
||||
'inception' => ['inception'],
|
||||
'addition' => ['addition'],
|
||||
'dependent_addition' => ['dependent addition', 'd-addition'],
|
||||
'missed_inception' => ['missed inception'],
|
||||
];
|
||||
|
||||
$normalize = function ($value) {
|
||||
return strtolower(trim((string) $value)); // ✅ Added `return`
|
||||
};
|
||||
|
||||
$change_event = $normalize($change_event);
|
||||
|
||||
// Allow inception with no change_event
|
||||
if ($action === 'inception' && empty($change_event)) {
|
||||
return ['status' => true];
|
||||
}
|
||||
|
||||
// Validate change_event against allowed values for the given action
|
||||
if (isset($allowed_values[$action]) && in_array($change_event, $allowed_values[$action])) {
|
||||
return ['status' => true];
|
||||
}
|
||||
|
||||
// Build error message
|
||||
$expected_values = $allowed_values[$action] ?? [];
|
||||
$expected_message = "'" . implode("' or '", array_map('strtoupper', $expected_values)) . "'";
|
||||
if ($action === 'inception') {
|
||||
$expected_message .= " or blank";
|
||||
}
|
||||
|
||||
return [
|
||||
'status' => false,
|
||||
'error' => "Rule Conflict: Invalid Change Event for this action\n\n'{$action}'. Expected {$expected_message}", ];
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('normalize_file_action')) {
|
||||
function normalize_file_action($file_action)
|
||||
{
|
||||
if($file_action == 'inception'){
|
||||
return 'Inception';
|
||||
}else if($file_action == 'addition'){
|
||||
return 'Addition';
|
||||
}else if($file_action == 'dependent_addition'){
|
||||
return 'Dependent Addition';
|
||||
}else if($file_action == 'deletion'){
|
||||
return 'Deletion';
|
||||
}else if($file_action == 'correction'){
|
||||
return 'Correction';
|
||||
}else if($file_action == 'si_enhancement'){
|
||||
return 'SI Enhancement';
|
||||
}else if($file_action == 'enrollment'){
|
||||
return 'Enrollment';
|
||||
}else if($file_action == 'missed_inception'){
|
||||
return 'Missed Inception';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ------------- FUNCTION FOR LEAD MEMBER DATA LIST VALIDATIONS --------------------------------------
|
||||
|
||||
if (!function_exists('check_columns_name_exist')) {
|
||||
|
||||
@ -108,6 +108,8 @@ if (! function_exists('file_Upload_for_lead')) {
|
||||
}
|
||||
$fileName = sanitize_upload_filename($fileToUpload->getName());
|
||||
$fileToUpload->move($filepath, $fileName);
|
||||
$fileName = $fileToUpload->getName();
|
||||
|
||||
return $fileName;
|
||||
} else {
|
||||
return "";
|
||||
|
||||
@ -361,6 +361,7 @@ class AbhiClaimImportService extends BaseTpaClaimImportService
|
||||
$item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['claim_status']);
|
||||
$item['file_id'] = $file_id;
|
||||
$item['claim_dump_ref_id'] = $row['id'];
|
||||
$item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null;
|
||||
$item['created_by'] = $file_data['created_by'] ?? null;
|
||||
$item['claim_type'] = isset($row['mainclaim_prepost_type']) && !empty($row['mainclaim_prepost_type']) && strtolower($row['mainclaim_prepost_type']) == 'normal' ? 1 : 3;
|
||||
$item['priority'] = 1;
|
||||
|
||||
@ -427,6 +427,7 @@ class FhplClaimImportService extends BaseTpaClaimImportService
|
||||
$item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['current_claim_status']) ?? 61;
|
||||
$item['file_id'] = $file_id;
|
||||
$item['claim_dump_ref_id'] = $row['id'];
|
||||
$item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null;
|
||||
$item['created_by'] = $file_data['created_by'] ?? null;
|
||||
$item['claim_type'] = 1;
|
||||
$item['priority'] = 1;
|
||||
|
||||
@ -342,6 +342,7 @@ class IciciClaimImportService extends BaseTpaClaimImportService
|
||||
$item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['updated_status']) ?? 61;
|
||||
$item['claim_dump_ref_id'] = $row['id'];
|
||||
$item['file_id'] = $file_id;
|
||||
$item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null;
|
||||
$item['created_by'] = $file_data['created_by'] ?? null;
|
||||
$item['claim_type'] = 1;
|
||||
$item['priority'] = 1;
|
||||
|
||||
@ -375,6 +375,7 @@ class MediAssistClaimImportService extends BaseTpaClaimImportService
|
||||
$item['claim_dump_ref_id'] = $row['id'];
|
||||
$item['file_id'] = $file_id;
|
||||
$item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['claim_status']) ?? 61;
|
||||
$item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null;
|
||||
$item['created_by'] = $file_data['created_by'] ?? null;
|
||||
$item['claim_type'] = 1;
|
||||
$item['priority'] = 1;
|
||||
|
||||
@ -328,6 +328,7 @@ class RcareClaimImportService extends BaseTpaClaimImportService
|
||||
$item['file_id'] = $file_id;
|
||||
$item['created_by'] = $file_data['created_by'] ?? null;
|
||||
$item['claim_dump_ref_id'] = $row['id'];
|
||||
$item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null;
|
||||
$item['claim_type'] = 1;
|
||||
$item['priority'] = 1;
|
||||
$item['mode_of_intimation'] = 5;
|
||||
|
||||
@ -568,6 +568,7 @@ class VidalClaimImportService extends BaseTpaClaimImportService
|
||||
$item['claim_status_id'] = $this->checkStatusMapping($this->statusMapping, $row['claim_status']) ?? 61;
|
||||
$item['file_id'] = $file_id;
|
||||
$item['claim_dump_ref_id'] = $row['id'];
|
||||
$item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null;
|
||||
$item['created_by'] = $file_data['created_by'] ?? null;
|
||||
$item['claim_type'] = isset($row['mainclaim_prepost_type']) && !empty($row['mainclaim_prepost_type']) && strtolower($row['mainclaim_prepost_type']) == 'normal' ? 1 : 3;
|
||||
$item['priority'] = 1;
|
||||
@ -599,6 +600,8 @@ class VidalClaimImportService extends BaseTpaClaimImportService
|
||||
|
||||
public function mapClaimMasterDataOld($file_id): array
|
||||
{
|
||||
$claimDumpFileModel = new ClaimDumpFileModel();
|
||||
$file_data = $claimDumpFileModel->where('id', $file_id)->first();
|
||||
|
||||
$tpaClaimDumpData = $this->db
|
||||
->table('claims_dump_vidal')
|
||||
@ -686,6 +689,7 @@ class VidalClaimImportService extends BaseTpaClaimImportService
|
||||
|
||||
// Meta fields
|
||||
$item['file_id'] = $file_id;
|
||||
$item['claim_dump_date'] = $file_data['claim_dump_date'] ?? null;
|
||||
$item['created_by'] = get_session_userid() ?? null;
|
||||
$item['claim_type'] = isset($row['mainclaim_prepost_type']) && !empty($row['mainclaim_prepost_type']) && strtolower($row['mainclaim_prepost_type']) == 'normal' ? 1 : 3;
|
||||
$item['claim_created_by'] = 'DUMP_TPA';
|
||||
|
||||
@ -13,6 +13,7 @@ class ClaimDumpFileModel extends Model
|
||||
"client_id",
|
||||
"client_policy_id",
|
||||
"tpa_id",
|
||||
"claim_dump_date",
|
||||
"file_name",
|
||||
"status",
|
||||
"reason",
|
||||
|
||||
@ -61,6 +61,11 @@ for ($i = 0; $i < $batch_col_count; $i++) {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Allow line breaks in tooltip titles using \n */
|
||||
.tooltip-inner {
|
||||
white-space: pre-line;
|
||||
}
|
||||
|
||||
/* Column widths from max data length (see PHP above).
|
||||
Avoid table-layout:fixed + identical max-width on TH — it fights DataTables col sizing and skews TH vs TD.
|
||||
Do not max-width THEAD cells (sort icons use position:absolute; narrow max clips them). */
|
||||
@ -289,15 +294,32 @@ for ($i = 0; $i < $batch_col_count; $i++) {
|
||||
<td><?php echo $file['event_type'] ?></td>
|
||||
|
||||
<td><?php echo $insurer_or_tpa[$file['insurer_or_tpa']] ?>
|
||||
|
||||
<?php $insurer_or_tpa_display = $insurer_or_tpa[$file['insurer_or_tpa']] == 'TPA' ? $file['tpa_short_name'] : $file['insurer_short_name'] ?>
|
||||
<a href=""
|
||||
class="fe-alert-circle" style="color: #000;" aria-hidden="true"
|
||||
data-toggle="tooltip" data-placement="top" title="<?php echo $insurer_or_tpa_display ?>"></a>
|
||||
|
||||
<?php $insurer_or_tpa_display = $insurer_or_tpa[$file['insurer_or_tpa']] == 'TPA' ? $file['tpa_short_name'] : $file['insurer_short_name'] ?>
|
||||
<a href="#" class="fe-alert-circle" style="color: #000;" aria-hidden="true" data-toggle="tooltip" data-placement="top" title="<?php echo $insurer_or_tpa_display ?>"></a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<?php echo $import_or_export[$file['actions']] ?? ucfirst($file['actions']); ?>
|
||||
|
||||
<?php if ($file['actions'] == 'push'): ?>
|
||||
<?php $tpa_push_status = $file['icici_status_flag']; ?>
|
||||
|
||||
<?php
|
||||
$tooltipText = $insurer_or_tpa_display . ' TPA Push Status: ' . ($tpa_push_status ?? 'N/A');
|
||||
$tooltipText .= "\n\n\nNote: TPA ID can be fetched only after the TPA push status is completed.";
|
||||
?>
|
||||
|
||||
<a href="#"
|
||||
class="fe-alert-circle"
|
||||
style="color: #000;"
|
||||
aria-hidden="true"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="<?php echo htmlspecialchars($tooltipText, ENT_QUOTES, 'UTF-8'); ?>">
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<td><?php echo $import_or_export[$file['actions']] ?? ucfirst($file['actions']) ?></td>
|
||||
<td><?php echo $file['count'] == null ? '-' : $file['count'] ?></td>
|
||||
|
||||
<td><?php echo format_indian_number($file['amount'])?></td>
|
||||
|
||||
@ -267,6 +267,10 @@
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-12">
|
||||
<label for="claim_dump_date">Claim Dump Date</label>
|
||||
<input type="text" class="form-control" id="claim_dump_date" name="claim_dump_date" placeholder="Select claim dump date" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row" id="file_upload">
|
||||
|
||||
@ -326,6 +330,11 @@
|
||||
|
||||
$('#client_id').select2();
|
||||
$('#client_policy_id').select2();
|
||||
flatpickr("#claim_dump_date", {
|
||||
dateFormat: "d/m/Y",
|
||||
allowInput: false,
|
||||
maxDate: "today"
|
||||
});
|
||||
|
||||
// AJAX Form Submit Function
|
||||
$('#claim-upload-form').on('submit', function(e) {
|
||||
|
||||
@ -499,6 +499,13 @@
|
||||
return String(item.url || '');
|
||||
}
|
||||
|
||||
function claimFileDownloadOpenUrl(item, base_url) {
|
||||
if (item.file_type == 2 || item.file_type === '2') {
|
||||
return base_url + 'downloadClaimFile/' + encodeURIComponent(item.id);
|
||||
}
|
||||
return String(item.url || '');
|
||||
}
|
||||
|
||||
function create_url_list(data) {
|
||||
$('#table_bd').empty(); // clear existing rows
|
||||
|
||||
@ -513,23 +520,20 @@
|
||||
const tpaLabel = sentToTpa ? 'Yes' : 'No';
|
||||
const viewOk = claimFileViewSupported(item);
|
||||
const viewHref = escapeClaimFileListAttr(claimFileViewOpenUrl(item, base_url));
|
||||
const viewSupportedAttr = viewOk ? '1' : '0';
|
||||
const viewIconClass = viewOk ? 'text-primary' : 'text-muted';
|
||||
const viewTitle = viewOk ? 'View in new tab' : 'Preview not available for this format';
|
||||
const downloadHref = escapeClaimFileListAttr(claimFileDownloadOpenUrl(item, base_url));
|
||||
const fileNameLinkHref = viewOk ? viewHref : downloadHref;
|
||||
const fileNameLinkTitle = viewOk ? 'View in new tab' : 'Download';
|
||||
html += `
|
||||
<tr>
|
||||
<td class="text-center">${index + 1}</td>
|
||||
<td>${item.doc_name}</td>
|
||||
<td><a href="${item.url}" target="_blank">${item.file_type == 1 ? item.url : item.doc_name}</a></td>
|
||||
<td><a href="${fileNameLinkHref}" target="_blank" rel="noopener noreferrer" title="${fileNameLinkTitle}">${item.file_type == 1 ? item.url : item.doc_name}</a></td>
|
||||
<td class="text-center">
|
||||
<span class="badge ${tpaBadgeClass}" style="font-size:13px; padding:8px 12px; font-weight:600;">${tpaLabel}</span>
|
||||
</td>
|
||||
<td>
|
||||
<a href="javascript:void(0);" class="view-claim-file ${viewIconClass} mr-2" title="${viewTitle}"
|
||||
style="${viewOk ? '' : 'opacity:0.7;'}"
|
||||
data-view-url="${viewHref}"
|
||||
data-view-supported="${viewSupportedAttr}">
|
||||
<i class="mdi mdi-eye"></i>
|
||||
<a href="${downloadHref}" target="_blank" rel="noopener noreferrer" class="text-primary mr-2" title="Download">
|
||||
<i class="mdi mdi-download"></i>
|
||||
</a>
|
||||
<a href="javascript:void(0);" class="delete-url"
|
||||
style="bacolor:black;"
|
||||
@ -547,19 +551,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('click', '.view-claim-file', function (e) {
|
||||
e.preventDefault();
|
||||
var supported = $(this).data('view-supported') == 1 || $(this).data('view-supported') === '1';
|
||||
var viewUrl = $(this).attr('data-view-url');
|
||||
if (!supported) {
|
||||
toastr.warning('Not supported format. Only PDF and images (PNG, JPG, JPEG) can be previewed.', 'View file');
|
||||
return;
|
||||
}
|
||||
if (viewUrl) {
|
||||
window.open(viewUrl, '_blank', 'noopener,noreferrer');
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.delete-url', function (e) {
|
||||
e.preventDefault();
|
||||
const url = $(this).data('href');
|
||||
|
||||
@ -151,10 +151,7 @@
|
||||
}
|
||||
|
||||
</style>
|
||||
<?php
|
||||
$isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team()) ? 'active show' : '';
|
||||
?>
|
||||
<div class="tab-pane fade <?= $isActive ?>" id="claims-dash-tab">
|
||||
<div class="tab-pane fade <?= $dash_claims_pane_active ?? '' ?>" id="claims-dash-tab">
|
||||
<div class="row">
|
||||
<div class="col inside-tab-content-div">
|
||||
<div class="claimTypeTile">
|
||||
|
||||
@ -251,7 +251,7 @@ input:checked + .slider_blue::before {
|
||||
<div class="form-group col-md-4">
|
||||
<label for="policy_no">Policy No<span class="text-danger">*</span></label>
|
||||
<input value="" type="text" class="form-control" oninput="checkPolicyNo(this)" placeholder="Enter Policy Number" name="policy_no" id="policy_no" required
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s_\\-/\\\\]+$"
|
||||
data-parsley-pattern="^[a-zA-Z0-9\\s_/\\\\-]+$"
|
||||
data-parsley-pattern-message="Invalid characters in Policy No.">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -193,7 +193,7 @@
|
||||
|
||||
</style>
|
||||
|
||||
<div class="tab-pane active show" id="pending-actions-dash-tab" >
|
||||
<div class="tab-pane fade <?= $dash_pending_pane_active ?? '' ?>" id="pending-actions-dash-tab" >
|
||||
|
||||
<div class="inside-tab-content-div">
|
||||
|
||||
|
||||
@ -41,11 +41,19 @@
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.error-illustration-frame {
|
||||
display: inline-block;
|
||||
max-width: 100%;
|
||||
line-height: 0;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.error-image {
|
||||
width: min(100%, 560px);
|
||||
height: auto;
|
||||
display: block;
|
||||
margin: 0 auto 10px auto;
|
||||
width: auto !important;
|
||||
height: auto !important;
|
||||
max-width: 100% !important;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.error-title {
|
||||
@ -98,7 +106,7 @@
|
||||
background-image: radial-gradient(circle at 0 0, rgba(87, 233, 255, 0.12) 0, rgba(87, 233, 255, 0.12) 120px, transparent 120px), radial-gradient(circle at 100% 100%, rgba(87, 233, 255, 0.12) 0, rgba(87, 233, 255, 0.12) 140px, transparent 140px);
|
||||
}
|
||||
|
||||
.error-image {
|
||||
.error-illustration-frame {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
@ -113,7 +121,13 @@
|
||||
|
||||
<body>
|
||||
<main class="error-wrapper">
|
||||
<img class="error-image" src="<?= base_url()."public"; ?>/assets/images/errors/404_illustration.jpg" alt="404 page not found illustration">
|
||||
<div class="error-illustration-frame">
|
||||
<img class="error-image"
|
||||
src="<?= base_url()."public"; ?>/assets/images/errors/404_illustration.png"
|
||||
decoding="async"
|
||||
fetchpriority="high"
|
||||
alt="404 page not found">
|
||||
</div>
|
||||
<h1 class="error-title">PAGE NOT FOUND</h1>
|
||||
<p class="error-subtitle">
|
||||
<?= isset($message) && !empty($message) ? $message : "Sorry, the page you're looking for doesn't exist or has been moved." ?>
|
||||
|
||||
@ -1,84 +1,23 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title><?= lang('Errors.pageNotFound') ?></title>
|
||||
<?php
|
||||
|
||||
<style>
|
||||
div.logo {
|
||||
height: 200px;
|
||||
width: 155px;
|
||||
display: inline-block;
|
||||
opacity: 0.08;
|
||||
position: absolute;
|
||||
top: 2rem;
|
||||
left: 50%;
|
||||
margin-left: -73px;
|
||||
}
|
||||
body {
|
||||
height: 100%;
|
||||
background: #fafafa;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
color: #777;
|
||||
font-weight: 300;
|
||||
}
|
||||
h1 {
|
||||
font-weight: lighter;
|
||||
letter-spacing: normal;
|
||||
font-size: 3rem;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
color: #222;
|
||||
}
|
||||
.wrap {
|
||||
max-width: 1024px;
|
||||
margin: 5rem auto;
|
||||
padding: 2rem;
|
||||
background: #fff;
|
||||
text-align: center;
|
||||
border: 1px solid #efefef;
|
||||
border-radius: 0.5rem;
|
||||
position: relative;
|
||||
}
|
||||
pre {
|
||||
white-space: normal;
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
code {
|
||||
background: #fafafa;
|
||||
border: 1px solid #efefef;
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: 5px;
|
||||
display: block;
|
||||
}
|
||||
p {
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
.footer {
|
||||
margin-top: 2rem;
|
||||
border-top: 1px solid #efefef;
|
||||
padding: 1em 2em 0 2em;
|
||||
font-size: 85%;
|
||||
color: #999;
|
||||
}
|
||||
a:active,
|
||||
a:link,
|
||||
a:visited {
|
||||
color: #dd4814;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrap">
|
||||
<h1>404</h1>
|
||||
declare(strict_types=1);
|
||||
|
||||
<p>
|
||||
<?php if (ENVIRONMENT !== 'production') : ?>
|
||||
<?= nl2br(esc($message)) ?>
|
||||
<?php else : ?>
|
||||
<?= lang('Errors.sorryCannotFind') ?>
|
||||
<?php endif; ?>
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
/**
|
||||
* CodeIgniter resolves PageNotFoundException to this file (see ExceptionHandler::determineView).
|
||||
* Delegate to the NHance branded page at Views/errors/404.php.
|
||||
*/
|
||||
|
||||
$page_name = $page_name ?? 'NHance';
|
||||
|
||||
if (ENVIRONMENT === 'production') {
|
||||
$displayMessage = lang('Errors.sorryCannotFind');
|
||||
if ($displayMessage === '') {
|
||||
$displayMessage = "Sorry, the page you're looking for doesn't exist or has been moved.";
|
||||
}
|
||||
} else {
|
||||
$displayMessage = nl2br(esc($message ?? ''));
|
||||
}
|
||||
|
||||
$message = $displayMessage;
|
||||
|
||||
include dirname(__DIR__) . DIRECTORY_SEPARATOR . '404.php';
|
||||
|
||||
@ -21,6 +21,11 @@
|
||||
.is-invalid {
|
||||
border-color: #dc3545 !important;
|
||||
}
|
||||
|
||||
/* Avoid duplicate validation messages: keep custom .field-error only */
|
||||
#insurer_branch_form .parsley-errors-list {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
<!-- Optional CSS -->
|
||||
<style>
|
||||
@ -495,8 +500,15 @@
|
||||
}
|
||||
|
||||
function getErrorElement($field) {
|
||||
var $next = $field.next('.field-error');
|
||||
if ($next.length) return $next;
|
||||
var $group = $field.closest('.form-group');
|
||||
var $existing = $group.find('.field-error');
|
||||
|
||||
if ($existing.length) {
|
||||
if ($existing.length > 1) {
|
||||
$existing.slice(1).remove();
|
||||
}
|
||||
return $existing.first();
|
||||
}
|
||||
|
||||
var $error = $('<small class="field-error"></small>');
|
||||
$field.after($error);
|
||||
@ -739,12 +751,18 @@
|
||||
success: function(res) {
|
||||
$("#insurer_branch_form")[0].reset();
|
||||
console.log(res);
|
||||
if (res && res.status) {
|
||||
toastr.success(res.message || 'Insurer branch saved successfully', 'Success');
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
|
||||
$('#insurer_branch_list tr').remove();
|
||||
renderBranchRows(res.data || []);
|
||||
initBranchDataTable();
|
||||
$('#container').empty(); $('#contact_1_wrapper input').val('');
|
||||
hideBranchModal();
|
||||
// window.location.reload();
|
||||
toastr.warning((res && res.message) ? res.message : 'Unable to save insurer branch', 'Warning');
|
||||
// $('#add_branch').hide();
|
||||
// $('#branch_table').show();
|
||||
// $('.btnBack').hide();
|
||||
|
||||
@ -156,10 +156,7 @@
|
||||
|
||||
|
||||
</style>
|
||||
<?php
|
||||
$isActive = get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID, user_team()) ? 'show active' : '';
|
||||
?>
|
||||
<div class="tab-pane fade <?= $isActive ?>" id="leads-dash-tab">
|
||||
<div class="tab-pane fade <?= $dash_leads_pane_active ?? '' ?>" id="leads-dash-tab">
|
||||
<div class="row">
|
||||
<div class="col inside-tab-content-div">
|
||||
<div class="leadTypeTile">
|
||||
|
||||
@ -170,10 +170,12 @@ $rto_col_width_px = nhance_dt_column_widths_px($rto_header_labels, $rto_col_max_
|
||||
placeholder="Enter RTO State" style="text-transform:uppercase"
|
||||
required
|
||||
data-parsley-required-message="RTO State is required"
|
||||
data-parsley-type="alpha"
|
||||
data-parsley-type-message="RTO State must contain only alphabets"
|
||||
data-parsley-length="[2,2]"
|
||||
data-parsley-length-message="RTO State must be exactly 2 letters"
|
||||
data-parsley-pattern="^[a-zA-Z\s]+$"
|
||||
data-parsley-pattern-message="RTO State must contain only alphabets and spaces"
|
||||
data-parsley-minlength="2"
|
||||
data-parsley-minlength-message="RTO State must be at least 2 characters"
|
||||
data-parsley-maxlength="50"
|
||||
data-parsley-maxlength-message="RTO State maximum 50 characters"
|
||||
data-parsley-trigger="keyup">
|
||||
</div>
|
||||
|
||||
@ -289,7 +291,7 @@ $rto_col_width_px = nhance_dt_column_widths_px($rto_header_labels, $rto_col_max_
|
||||
} else if (type == 'edit'){
|
||||
method = "GET";
|
||||
$('#modalLabel').text('Edit RTO details');
|
||||
$('#vehicleTypeForm')[0].reset();
|
||||
$('#RTOForm')[0].reset();
|
||||
}
|
||||
|
||||
console.log("type", type)
|
||||
|
||||
@ -251,7 +251,7 @@ table.dataTable tbody td {
|
||||
|
||||
echo $policyTypeIconHtml . esc($policyTypeLabel);
|
||||
if ($claimSrcClass !== null) {
|
||||
echo '<br><span class="claim-source-badge ' . esc($claimSrcClass, 'attr') . '">' . esc($claimSrc) . '</span>';
|
||||
echo '<br><span class="claim-source-badge ' . esc($claimSrcClass, 'attr') . '">' . esc($claimSrc == "CRM" ? "STAFF" : $claimSrc) . '</span>';
|
||||
}
|
||||
?></td>
|
||||
<td><?php echo $row['claim_no'] ?: 'N/A' ; ?>
|
||||
|
||||
BIN
public/assets/images/errors/404_illustration.png
Normal file
BIN
public/assets/images/errors/404_illustration.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 100 KiB |
BIN
public/assets/images/errors/404_illustration_old.jpg
Normal file
BIN
public/assets/images/errors/404_illustration_old.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Loading…
Reference in New Issue
Block a user