FIX_InsurerMasterAdditAlerts
This commit is contained in:
parent
08f7a2e04b
commit
b1222d1291
@ -497,6 +497,9 @@ class MasterController extends AdminController
|
|||||||
{
|
{
|
||||||
|
|
||||||
$this->myLogger->logme('error','Edit Insurer general info function called');
|
$this->myLogger->logme('error','Edit Insurer general info function called');
|
||||||
|
$postData = $this->request->getPost();
|
||||||
|
$logoFile = $this->request->getFile('insurer_logo');
|
||||||
|
|
||||||
$rules = [
|
$rules = [
|
||||||
'name' => [
|
'name' => [
|
||||||
'rules' => 'required',
|
'rules' => 'required',
|
||||||
@ -513,22 +516,30 @@ class MasterController extends AdminController
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
'insurer_logo' => [
|
'insurer_logo' => [
|
||||||
'rules' => 'if_exist|is_image[insurer_logo]|max_size[insurer_logo,200]|ext_in[insurer_logo,jpg,jpeg,png]',
|
'rules' => 'permit_empty|is_image[insurer_logo]|max_size[insurer_logo,200]|ext_in[insurer_logo,jpg,jpeg,png]',
|
||||||
'errors' => [
|
'errors' => [
|
||||||
'is_image' => 'The uploaded file must be an image',
|
'is_image' => 'The uploaded file must be an image',
|
||||||
'max_size' => 'File size should not exceed 200 KB',
|
'max_size' => 'File size should not exceed 200 KB',
|
||||||
'ext_in' => 'Allowed file types: jpg, jpeg, png',
|
'ext_in' => 'Only JPG, JPEG, and PNG files are allowed.',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!$this->validate($rules)) {
|
if (!$this->validateData($postData, $rules)) {
|
||||||
return $this->response->setStatusCode(400)->setJSON([
|
$errors = $this->validator->getErrors();
|
||||||
'status' => false,
|
|
||||||
'message' => 'Input validation failed',
|
$mainMessage = 'Input validation failed';
|
||||||
'code' => 400,
|
|
||||||
'errors' => $this->validator->getErrors()
|
if (isset($errors['insurer_logo']) && (strpos($errors['insurer_logo'], 'Security') !== false || strpos($errors['insurer_logo'], 'Forbidden') !== false)) {
|
||||||
]);
|
$mainMessage = 'File upload rejected: Security policy violation.';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->response->setStatusCode(400)->setJSON([
|
||||||
|
'status' => false,
|
||||||
|
'message' => $mainMessage, // This will change based on the error
|
||||||
|
'code' => 400,
|
||||||
|
'errors' => $this->validator->getErrors()
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$uploadFilePath = ROOTPATH . 'public/uploads/logo/';
|
$uploadFilePath = ROOTPATH . 'public/uploads/logo/';
|
||||||
|
|||||||
@ -191,18 +191,29 @@ input:checked + .slider:before {
|
|||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
$('#insurer_logo').on('change', function() {
|
||||||
|
PreviewImage();
|
||||||
|
});
|
||||||
|
|
||||||
$("#insurer_general_form").submit(function(events) {
|
$("#insurer_general_form").submit(function(events) {
|
||||||
|
|
||||||
events.preventDefault();
|
events.preventDefault();
|
||||||
|
|
||||||
var isValid = $('#insurer_General_PrimaryKey').parsley().validate();
|
// var isValid = $('#insurer_General_PrimaryKey').parsley().validate();
|
||||||
|
var isValid = $('#insurer_general_form').parsley().validate();
|
||||||
|
var PrimaryKey = $('#insurer_General_PrimaryKey').val();
|
||||||
if (!isValid) {
|
if (!isValid) {
|
||||||
console.log('Form is Empty', 'Warning');
|
console.log('Form is Empty', 'Warning');
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
var PrimaryKey = $('#insurer_General_PrimaryKey').val();
|
var formElement = $('#insurer_general_form')[0];
|
||||||
var form_action = '';
|
var formData = new FormData(formElement);
|
||||||
|
|
||||||
|
// DEBUG: Log formData to see if it's empty
|
||||||
|
for (var pair of formData.entries()) {
|
||||||
|
console.log(pair[0]+ ', ' + pair[1]);
|
||||||
|
}
|
||||||
if (isValid) {
|
if (isValid) {
|
||||||
|
|
||||||
if (PrimaryKey === '') {
|
if (PrimaryKey === '') {
|
||||||
@ -300,16 +311,46 @@ input:checked + .slider:before {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function PreviewImage()
|
function PreviewImage() {
|
||||||
{
|
var fileInput = document.getElementById("insurer_logo");
|
||||||
|
var preview = document.getElementById("uploadPreview");
|
||||||
|
var defaultAvatar = '<?= base_url() . "public/assets/images/avatar_2x.png" ?>';
|
||||||
|
|
||||||
|
// If no file is selected (or cleared by validation), reset preview and stop
|
||||||
|
if (!fileInput.files || !fileInput.files[0]) {
|
||||||
|
preview.src = defaultAvatar;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var file = fileInput.files[0];
|
||||||
|
var fileName = file.name.toLowerCase();
|
||||||
|
var parts = fileName.split('.');
|
||||||
|
|
||||||
|
// VALIDATION: Extensions and Double Extensions (e.g. .php.jpeg)
|
||||||
|
var allowedExtensions = /(\.jpg|\.jpeg|\.png)$/i;
|
||||||
|
|
||||||
|
if (!allowedExtensions.exec(fileName) || parts.length > 2) {
|
||||||
|
toastr.error("Security violation: Invalid format or double extension.", "Blocked");
|
||||||
|
fileInput.value = ""; // Clear the field
|
||||||
|
preview.src = defaultAvatar; // RESET PREVIEW
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// VALIDATION: Size (200KB)
|
||||||
|
if ((file.size / 1024) > 200) {
|
||||||
|
toastr.warning("File size exceeds 200 KB limit.", "Warning");
|
||||||
|
fileInput.value = ""; // Clear the field
|
||||||
|
preview.src = defaultAvatar; // RESET PREVIEW
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// SUCCESS: Read and Preview
|
||||||
var oFReader = new FileReader();
|
var oFReader = new FileReader();
|
||||||
oFReader.readAsDataURL(document.getElementById("insurer_logo").files[0]);
|
oFReader.readAsDataURL(file);
|
||||||
|
|
||||||
oFReader.onload = function(oFREvent) {
|
oFReader.onload = function(oFREvent) {
|
||||||
document.getElementById("uploadPreview").src = oFREvent.target.result;
|
preview.src = oFREvent.target.result;
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user