File: /home/cafsindia/uds.cafsinfotech.in/application/views_bk/employees/form.php
<?php
$logged_user_role = $this->session->userdata('logged_user_role');
$prime_id = "prime_".$controller_name."_id";
$form_id = $controller_name."_form";
$access_data = $this->session->userdata('access_data');
$access_deletess = (int)$access_data[$controller_name]['access_delete'];
$access_update = (int)$access_data[$controller_name]['access_update'];
$count = 0;
$date_exist = false;
$date_time_exist = false;
$drop_exist = false;
$view_count = 0;
$view_content = "";
$document_load_script = "";
$validation_rule = "";
//User Role Based Condition BSK
$user_read_only = "";
if($role_based_condition){
foreach ($role_based_condition as $key => $condition) {
if($key === "readonly"){
if($condition !== ""){
$condition = str_replace(",", ",#", $condition);
$user_read_only = "$('#".$condition."').attr('readonly','readonly');";
}
}
}
}
//Multipick inputs append to json form data
if($multi_pick){
$json_multi = "";
foreach ($multi_pick as $key => $val) {
$json_multi .= " jsonData['$val'] = $('#".$key."').val();";
}
}
$readonly_arr = explode(",",$role_based_condition['readonly'] ?? "");
$multi_pick = array();
foreach($view_info as $view){
$prime_form_view_id = (int)$view->prime_form_view_id;
$prime_view_module_id = $view->prime_view_module_id;
$form_view_type = (int)$view->form_view_type;
$form_view_type_mode = (int)$view->form_view_type_mode;
$form_view_label_name = $view->form_view_label_name;
$form_view_heading = ucwords($view->form_view_heading);
$input_box = "";
$row_check_input = "";
$row_prime_id = "prime_".$controller_name."_".$form_view_label_name."_id";
$row_send_data = "view_id:'$prime_form_view_id',module_id:'$prime_view_module_id',row_label_name:'$form_view_label_name',row_prime_id:$('#$row_prime_id').val(),prime_id:$('#$prime_id').val(),";
$row_clear_data = "$('#$row_prime_id').val(0);\n";
foreach($form_info as $setting){
$prime_form_id = (int)$setting->prime_form_id;
$field_type = $setting->field_type;
$label_id = $setting->label_name;
$label_name = ucwords($setting->view_name);
$mandatory_field = $setting->mandatory_field;
$upd_mandatory_field = $setting->upd_mandatory_field;
$input_for = (int)$setting->input_for;
$field_isdefault = (int)$setting->field_isdefault;
$default_value = $setting->default_value;
$file_type = $setting->file_type;
$extension = $setting->upload_extension;
$upload_filesize = $setting->upload_file_size;
$pick_table = $setting->pick_table;
$pick_list = $setting->pick_list;
$input_view_type = (int)$setting->input_view_type;
$input_for = (int)$setting->input_for;
$field_length = $setting->field_length;
$text_type = (int)$setting->text_type;
$edit_read = (int)$setting->edit_read;
// echo ("Ragu:::$edit_read::::$label_id:::: <br/>");
$depen_pick_list = (int)$setting->dependent_pick_list;
$depen_pick_input= $setting->dependent_pick_input;
$table_column1 = $setting->table_column1;
$table_column2 = $setting->table_column2;
$prime_module_id = $setting->prime_module_id;
$pick_display_val = $setting->pick_display_value;
$required = "";
if((int)$mandatory_field === 1){
$name_append = "";
$required = "required";
}else
if((int)$upd_mandatory_field === 1){
$required = "upd_required";
//required star symbol show only for update operation
if((int)$form_view->$prime_id > 0){
$name_append = '<span style = "color:red !important;" class="updLabel">*</span>';
$upd_status = "$('.updLabel').css({'content': '*',
'position': 'relative',
'font-size': '18px',
'top': '5px',
'left': '10px'});";
}
}
if($form_view->$label_id){
$input_value = $form_view->$label_id;
}else{
$input_value = $default_value;
}
$color = "";
foreach($formula_result as $formula){
$formula_column = $formula->line_input_bind_to;
if(strcmp($label_id, $formula_column) == 0){
$color = "textcolor";
}
}
$formula_count = count($formula_result ?? []);
if($prime_form_view_id === $input_for){
/*=================== FORM INPUT PROCESS - START ===================*/
$form_label = form_label($label_name, $label_id, array('class' => "control-label $required $color"));
$valid_class = "alpha";
if(((int)$field_type === 3) ||((int)$field_type === 11)){
$valid_class = "number";
}
if((int)$field_type === 2){
$valid_class = "decimal_no";
}
//TEXT BOX
if((int)$field_type === 1){
if($text_type === 1){
$valid_class = "alpha_text";
}else
if($text_type === 2){
$valid_class = "alpha";
}else
if($text_type === 3){
$valid_class = "number";
}
$input_value = str_replace('^',"'", $input_value);
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class","autocomplete"=>"off"));
$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
}else
//DECIMALS
if((int)$field_type === 2){
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class","autocomplete"=>"off"));
$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
}else
//INTEGER
if((int)$field_type === 3){
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class","autocomplete"=>"off"));
$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
}else
//DATE
if((int)$field_type === 4){
$date_exist = true;
$date = "";
if(($input_value === "0000-00-00") || ($input_value === "0001-11-30") || ($input_value === "")){
$date = "";
}else{
if($input_value){
$date = date('d-m-Y',strtotime($input_value));
if($date === "01-01-1970" && $label_id !== 'date_of_birth'){
$date = "";
}
}else{
$date = "";
}
}
if($label_id === "resignation_date"){
$resignation_date = $date;
}
if($label_id === "last_working_date"){
$last_working_date = $date;
}
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$date,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm datepicker","autocomplete"=>"off"));
$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
}else
//PICKLIST
if((int)$field_type === 5){
$drop_exist = true;
$option_data = $all_pick[$label_id]['array_list'];
if($label_id === "sap_status"){
$sap_status = $input_value;
}
if($label_id === "position"){
$position = $input_value;
$form_dropdown = form_dropdown(array("name" => $label_id,"id" => $label_id, $read=>true,"class" =>'form-control input-sm select2 tooltip'));
}else{
$form_dropdown = form_dropdown(array("name" => $label_id,"id" => $label_id, $read=>true,"class" =>'form-control input-sm select2 tooltip'),$option_data,$input_value);
}
if(strlen($option_data[$input_value]) > 15){ # ->NB[18-04-2024]
$tooltip_html = "<span class='tooltiptext'>$option_data[$input_value]</span>";
}else{
$tooltip_html = "";
}
$input_box .= "<div class='form-group'>$form_label $name_append $form_dropdown $tooltip_html</div>";
}else
//CHECKBOX
if((int)$field_type === 6){
$form_checkbox = form_checkbox(array("name" => $label_id,"id" => $label_id, "value"=> 1, "checked" => ($input_value) ? 1 : 0));
$input_box .= "<div class='form-group'> <label class='checkbox-inline'> $form_checkbox $name_append $form_label </label></div>";
}else
//MULTI PICKLIST
if((int)$field_type === 7){
$drop_exist = true;
$multi_name = $label_id."[]";
$multi_pick[$label_id] = $multi_name;
$multi_select = explode(',',$input_value ?? "");
$form_dropdown = form_dropdown(array("name" => $multi_name,"multiple id" => $label_id,"class" =>'form-control input-sm select2'),$all_pick[$label_id]['array_list'] ,$multi_select);
$input_box .= "<div class='form-group'> $form_label $name_append $form_dropdown</div>";
}else
//TEXT AREA
if((int)$field_type === 8){
$value = str_replace("~",'"',$input_value);
$value = str_replace("`","'",$value);
$value = str_replace("^","&",$value);
$input_box .= "<div class='form-group'> $form_label $name_append <textarea name='$label_id' id='$label_id' class='form-control' rows='4' placeholder='$label_name'>$value</textarea></div>";
}else
//AUTOCOMPLETE
if((int)$field_type === 9){
if($label_id === "ifsc_code"){
if($hidden_value){
$readonly = "readonly";
}else{
$readonly = "";
}
}
if($label_id === "wbs_element"){
$wbs_element = $input_value;
}
$hidden_id = $label_id."_hidden_".$prime_form_id;
$hidden_value = $all_pick[$label_id]['array_list'][$input_value];
$form_label = form_label($label_name, $hidden_id, array('class' => "control-label $required $color"));
$form_input = form_input(array("name"=>$hidden_id, "id"=>$hidden_id,"value"=>$hidden_value,"placeholder"=>"Search ".$label_name, "class"=>"form-control input-sm","readonly"=>$readonly));
$hidden_input = form_input( array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"type"=>"hidden"));
if(!in_array($hidden_id,$readonly_arr)){
$clear_btn = "<a class='btn btn-xs clear_btn' onClick=clear_autocomplete('$hidden_id','$label_id')>clear</button></a>";
}else{
$clear_btn = "";
}
$input_box .= "<div class='form-group'>$form_label $hidden_input $form_input $clear_btn</div>";
}else
//FILE UPLOAD
if((int)$field_type === 10){
$value = $input_value;
$upload_id = "upload_".$label_id;
$tabel_id = "table_".$label_id;
$upload_old = "old_".$label_id;
$proof = base_url("$value");
$form_upload = form_upload(array('name' => $upload_id,'id' => $upload_id,'class' => 'form-control input-sm','value' => $input_value,'accept' => $file_type ));
$remove_btn = "";
$view_btn = "";
if($value){
$file_name = explode("/",$value ?? "");
$file_name = $file_name[2];
//REMOVE BUTTON ONLY FOR NON MANDATORY FIELD
if((int)$mandatory_field !== 1){
$remove_btn = "<a onclick=remove_file('$prime_id','$field_isdefault','$label_id'); style='color: red; cursor: pointer;'><i class='fa fa-times' aria-hidden='true'></i> Remove </a>";
}
// $view_btn = "<a href='$proof' target='_blank' style='cursor: pointer;'>$file_name</a>";
$file_ext_type = explode(".", $value ?? "");
$file_ext_type = end($file_ext_type);
$view_btn = "<a onclick=view_upload_file('".$proof."','".$file_ext_type."'); style='cursor:pointer;color:blue;'> <i class='fa fa-folder-open' aria-hidden='true'></i> View <a>";
}
$row_send_data .= "$upload_old:$('#$upload_old').val(),";
$input_box .= "<div class='form-group'>
$form_label $name_append
<input type='hidden' id='$label_id' name='$label_id' value='$value'>
<input type='hidden' id='$upload_old' name='$upload_old' value='$value'>
$form_upload
<table style='width: 100%;' id='$tabel_id'>
<tr>
<td colspan='2'><div class='progress_bar' id='div_$label_id' style='display:none;'><div class='process_percent' id='process_$label_id'>10%</div></div></td>
</tr>
<tr>
<td>$remove_btn</td>
<td style='text-overflow: ellipsis; overflow: hidden; white-space: nowrap; max-width: 100px;'>$view_btn</td>
</tr>
</table>
</div>";
}else
//MOBILE NUMBER
if((int)$field_type === 11){
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class"));
$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
}else
//EMAIL
if((int)$field_type === 12){
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $valid_class"));
$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
}else
//DATE & TIME
if((int)$field_type === 13){
$date_time_exist = true;
$date = "";
if($input_value){
$date = "";
if($input_value){
$input_value = date('d-m-Y H:i:s',strtotime($input_value));
$date = $input_value;
if($date === "01-01-1970"){
$date = "";
}
}
}
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$date,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm datepicker_time"));
$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
}else
//READ ONLY
if((int)$field_type === 14){
$read = '';
if((int)$form_view->$label_id > 0){
$read = 'readonly';
}
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"placeholder"=>$label_name, $read => 'true',"class"=>"form-control input-sm $valid_class"));
$input_box .= "<div class='form-group'>$form_label $name_append $form_input</div>";
}else
// TIME ONLY
if((int)$field_type === 15){
if($input_value){
$time = $input_value;
}else{
$time = "00:00";
}
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$time,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm only_time"));
$input_box .= "<div class='form-group'>$form_label $form_input</div>";
}
/*=================== FORM INPUT PROCESS - END ===================*/
/*================ FORM VALIDATION SCRIPT - START ================*/
$len = "";
if($field_length){
$len = "maxlength: $field_length,";
}
$required = "";
if((int)$mandatory_field === 1){
$required = "required: true,";
}
if(($input_view_type === 1) || ($input_view_type === 2)){
if((int)$field_type === 1){ //TEXT
$validation_rule .= "$label_id:{ $required $len },";
}else
if((int)$field_type === 2){ //DECIMALS
$validation_rule .= "$label_id:{ $required number: true, $len },";
}else
if((int)$field_type === 3){ //INTEGER
$validation_rule .= "$label_id:{ $required number: true, $len },";
}else
if((int)$field_type === 4){ //DATE
$validation_rule .= "$label_id:{ $required $len },";
}else
if((int)$field_type === 5){ //PICKLIST
$validation_rule .= "$label_id:{ $required $len },";
}else
if((int)$field_type === 6){ //CHECKBOX
$validation_rule .= "$label_id:{ $required $len },";
}else
if((int)$field_type === 7){ //MULTI PICKLIST
$multi_name = $label_id."[]";
$validation_rule .= '"'.$multi_name.'":"required",'."\n";
}else
if((int)$field_type === 8){ //SUMMARY BOX
$validation_rule .= "$label_id:{ $required $len },";
}else
if((int)$field_type === 9){ //AUTO COMPLETE BOX
$hidden_id = $label_id."_hidden_".$prime_form_id;
$validation_rule .= "$hidden_id:{ $required $len },";
}else
if((int)$field_type === 10){ //FILE UPLOAD BOX
$validation_rule .= "$label_id:{ $required $len },";
}else
if((int)$field_type === 11){ //MOBILE NUMBER
$validation_rule .= "$label_id:{ $required number: true, minlength:$field_length, maxlength:$field_length },";
}else
if((int)$field_type === 12){ //EMAIL
$validation_rule .= "$label_id:{ $required email: true, $len },";
}else
if((int)$field_type === 13){ //DATE & TIME
$validation_rule .= "$label_id:{ $required $len },";
}else
if((int)$field_type === 14){ //READ ONLY
$validation_rule .= "$label_id:{ $required $len },";
}else
if((int)$field_type === 15){ //TIME
$validation_rule .= "$label_id:{ $required $len },";
}
}
/*================= FORM VALIDATION SCRIPT - END =================*/
/*================= DOCUMENT LOAD SCRIPT - START =================*/
//ON-LOAD SCRIPT MULTI SELECT REMOVE EMPTY
if((int)$field_type === 7){
if(!$form_view->$label_id){
$document_load_script .= "$('#$label_id option:selected').removeAttr('selected');\n";
}
}
//ON-LOAD SCRIPT FOR SINGLE AUTOCOMPLET BOX
if((int)$field_type === 9 && $label_id != "wbs_element"){
$hidden_id = $label_id."_hidden_".$prime_form_id;
$auto_id = "#$label_id";
// $auto_url = site_url("$controller_name/suggest?prime_form_id=$prime_form_id");
$auto_url = site_url("$controller_name/suggest");
$document_load_script .= "$('#$hidden_id').autocomplete({
source: function (request, response) {
var key = '$encKey';
var encData = encrypt(key,{term:request.term,prime_form_id:'$prime_form_id'});
$.ajax({
url : '$auto_url',
type: 'POST',
data: encData,
success: function (data) {
var rslt = JSON.parse(data);
response($.map(rslt, function (el) {
if(el.value === '0'){
$('#$hidden_id').val('');
}else{
return {
value: el.value,
label: el.label,
display_name:el.display_name
};
}
}));
}
});
},
minChars:2,
autoFocus: true,
delay:10,
appendTo: '.modal-content',
select: function(e, ui) {
e.preventDefault();
if (ui.item) {
value = ui.item.value;
label = ui.item.label;
$('$auto_id').val(ui.item.value);
$('#$hidden_id').val(ui.item.display_name);
if('$label_id' === 'ifsc_code'){
$('#$hidden_id').prop('readonly', true);
}
//DR CODE for UDS WBS BASED and pay strcuture mapped position and activity number data get for fetch
if('$label_id' === 'wbs_element'){
if(ui.item.value){
wbs_pay_struct(ui.item.value);
}else{
$('#project_id').val('');
$('#network_id').val('');
$('#position').val('');
$('#activity_no,#activity_no_hidden_1846').val('');
}
}
}else{
alert();
$('$auto_id').val('');
$('#$hidden_id').val('');
}
}
});\n";
}
//ON-LOAD SCRIPT FILE UPLOAD INPUT BOX
if((int)$field_type === 10){
$upload_id = "upload_".$label_id;
$check_size = 2;
$send_url = base_url("$controller_name/upload_files");
$document_load_script .= "$('#$upload_id').change(function() {
var file_data = $('#$upload_id').prop('files')[0];
var fileName = file_data.name;
var size = file_data.size;
var type = file_data.type;
var key = '$encKey';
// Ensure a file was selected
if (!file_data) {
toastr.error('No file selected..');
return;
}
const reader = new FileReader();
reader.onload = function(e) {
const str = e.target.result.split(',')[1]; // Get Base64 without MIME prefix
var encData = encrypt(key,{file_data:str,send_from:'$controller_name',label_id:'$label_id',fileName:fileName,type:type,size:size,send_for:'upload'});
$.ajax({
url: '$send_url',
cache: false,
contentType: 'text/plain',
processData: false,
data: encData,
beforeSend: function(){
$('#div_$label_id').show();
$('#submit').html('<i class=\"fa fa-spinner fa-spin\"></i> Processing...');
$('#submit').attr('disabled','disabled');
progress_bar('$label_id');
},
type: 'post',
success: function(result_data){
var rslt = JSON.parse(result_data);
if(rslt['success']){
$('#$label_id').val(rslt['path']);
}else{
toastr.error(rslt['msg']);
$('#$upload_id').val('');
}
}
});
};
reader.onerror = function(error) {
console.error('Error reading file:', error);
};
reader.readAsDataURL(file_data); // Read the file as Data URL (Base64)
});\n";
}
//ON-LOAD SCRIPT FOR ROW SET AUTO SAVE PRIMARY FORM
if(((int)$input_view_type === 3) && ((int)$form_view->$prime_id === 0) && ((int)$view_count === 0)){
$view_count++;
$change_event = "focusout";
$auto_save_id = $label_id;
if(((int)$field_type === 4)|| ((int)$field_type === 13)){
$change_event = "dp.hide";
$auto_save_id = $label_id;
}else
if(((int)$field_type === 5)|| ((int)$field_type === 7)){
$change_event = "change";
$auto_save_id = $label_id;
}else
if((int)$field_type === 9){
$hidden_id = $label_id."_hidden_".$prime_form_id;
$auto_save_id = $hidden_id;
}
$document_load_script .= "$('#$auto_save_id').bind('$change_event', function(e) {
e.preventDefault();
if($(form_id).valid()){
$(form_id).submit();
}else{
$('#$auto_save_id').val('');
toastr.clear();
toastr.error('Please fill all required in previous tab');
$('.row_btn').hide();
}
});\n";
}
//ON-LOAD SCRIPT FOR ROW SET AUTO SAVE
if((int)$input_view_type === 3){
if((int)$mandatory_field === 1){
$check_input_id = $label_id;
if((int)$field_type === 9){
$hidden_id = $label_id."_hidden_".$prime_form_id;
$check_input_id = $label_id;
}
$row_check_input .= "#$check_input_id,";
}
$row_send_data .= "$label_id:$('#$label_id').val(),";
if((int)$field_type === 6){
$row_clear_data .= "$('#$label_id').prop('checked', false);\n";
}else
if((int)$field_type === 7){
$row_clear_data .= "$('#$label_id option:selected').removeAttr('selected');\n";
}else
if((int)$field_type === 10){
$row_clear_data .= "$('#$label_id').val('');\n";
$row_clear_data .= "$('#table_$label_id').html('');\n";
$row_clear_data .= "$('#upload_$label_id').val('');\n";
}else{
$row_clear_data .= "$('#$label_id').val('');\n";
}
}
/*================== DOCUMENT LOAD SCRIPT - END ==================*/
}
}
if($form_view_type === 1){
$view_content .= "<h4 class='block_head'>$form_view_heading</h4>
<div id='$form_view_label_name' class='block_content pd8'>
$input_box
</div>";
}else
if($form_view_type === 2){
$count++;
$tab_active = "";
$content_active = "";
if((int)$count === 1){
$tab_active = "active";
$content_active = "in active";
$view_content .= "<div class='block_content'>
<ul class='nav nav-tabs' data-tabs='tabs' id='#tabs'>
@TABLI
</ul>
<div class='tab-content' style='padding:8px;'>
@TABCONTENT
</div>
</div>";
}
$tab_li .= "<li role='presentation' class='$tab_active'>
<a data-toggle='tab' href='#$form_view_label_name'>$form_view_heading</a>
</li>";
$tab_content .= "<div class='tab-pane fade $content_active' id='$form_view_label_name' >
<h4 class='tab_head'>$form_view_heading</h4>
$input_box
</div>";
}else
if($form_view_type === 3){
$div_id = $row_view_list[$prime_form_view_id]['div_id'];
$table_id = $row_view_list[$prime_form_view_id]['table_id'];
$row_set_view = $row_view_list[$prime_form_view_id]['row_set_view'];
$style = "";
if((int)$form_view->$prime_id === 0){
$style = "style='display:none;'";
}
$submit_btn_id = "row_save_$prime_form_view_id";
$cancel_btn_id = "row_cancel_$prime_form_view_id";
$row_prime_inupt = form_input( array("name"=>$row_prime_id, "id"=>$row_prime_id,"value"=>0,"type"=>"hidden"));
$final_div = "";
if($input_box){
$final_div = "$row_prime_inupt
$input_box
<div class='form-group'>
<a class='btn btn-xs btn-edit row_btn' id='$submit_btn_id' $style><i class='fa fa-upload' aria-hidden='true'></i> Upload</a>
<a class='btn btn-xs btn-edit row_btn' id='$cancel_btn_id' $style><i class='fa fa-remove'></i> Clear</a>
</div>
<div id='$div_id' class='row_set_div'>
$row_set_view
</div>";
}
if($form_view_type_mode === 1){
$view_content .= "<h4 class='block_head'>$form_view_heading</h4>
<div class='block_content pd8'>
$final_div
</div>";
}else
if($form_view_type_mode === 2){
$tab_active = "active";
$content_active = "in active";
if((int)$count >= 1){
$tab_active = "";
$content_active = "";
}
$tab_li .= "<li role='presentation' class='$tab_active' id='li_$form_view_label_name'>
<a data-toggle='tab' href='#$form_view_label_name'>$form_view_heading</a>
</li>";
$tab_content .= "<div class='tab-pane fade $content_active' id='$form_view_label_name' >
<h4 class='tab_head'>$form_view_heading</h4>
$final_div
</div>";
}
$send_url = site_url("$this->control_name/rowset_save");
$row_check_input = rtrim($row_check_input,',');
$row_clear_data = rtrim($row_clear_data,',');
$row_send_data = "{".rtrim($row_send_data,',')."}";
if($row_check_input){
$row_check_input = "var isValid = true;
$('$row_check_input').each(function() {
if ($(this).val() === '') {
isValid = false;
toastr.error('Please fill all required field');
$(this).addClass('error');
}else{
$(this).removeClass('error');
}
});
var key = '$encKey';
var encData = encrypt(key,$row_send_data);
if(isValid){
$.ajax({
type: 'POST',
url: '$send_url',
data:encData,
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
toastr.success(rslt.message);
}else{
toastr.error(rslt.message);
}
$('#submit').attr('disabled',false);
$('#$submit_btn_id').attr('disabled',false);
$('#$submit_btn_id').html('Upload');
$('#'+rslt.row_set_data.div_id).html(rslt.row_set_data.row_set_view);
$row_clear_data
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
$('#'+rslt.row_set_data.table_id).DataTable();
}
});
}";
}else{
$row_check_input = "var key = '$encKey';
var encData = encrypt(key,$row_send_data);
$.ajax({
type: 'POST',
url: '$send_url',
data:encData,
success: function(data) {
var rslt = JSON.parse(data);
toastr.success(rslt.message);
$('#submit').attr('disabled',false);
$('#$submit_btn_id').attr('disabled',false);
$('#$submit_btn_id').html('Upload');
$('#'+rslt.row_set_data.div_id).html(rslt.row_set_data.row_set_view);
$row_clear_data
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
$('#'+rslt.row_set_data.table_id).DataTable();
}
});";
}
$document_load_script .= "var fileuploading = false;
$('#$submit_btn_id').click(function(){
$('#submit').attr('disabled',false);
if(fileuploading){
toastr.error('Please wait for the current upload to finish...');
return false;
}
if($('#$upload_id').val() === ''){
toastr.error('Please Upload file...!!');
return false;
}
fileuploading = true;
$('#submit').attr('disabled','disabled');
$('#$submit_btn_id').attr('disabled','disabled');
$('#$submit_btn_id').html('<i class=\"fa fa-spinner fa-spin\"></i> Processing...');
$row_check_input
});\n
$('#$cancel_btn_id').click(function(){
$('#submit').attr('disabled',false);
$row_clear_data
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
});\n
$('#$table_id').DataTable();\n";
}
}
/*============ UDY EMPLOYEE CUSTOME BLOCK ============*/
/*============ SATHISH EMPLOYEE CUSTOME BLOCK START============*/
$li_line = "";
foreach ($all_modules as $menu_name => $submenu_arr){
$menu_text = ucwords(str_replace("_"," ",strtolower($menu_name)));
$has_grant = false;
$sub_line = "";
foreach ($submenu_arr as $sub_menu_name => $module_arr){
$submenu_text = ucwords(str_replace("_"," ",strtolower($sub_menu_name)));
$has_subgrant = false;
$tr_line = "";
foreach ($module_arr as $module){
$access_add = $module->access[0]['access_add'];
$access_update = $module->access[0]['access_update'];
$access_delete = $module->access[0]['access_delete'];
$access_search = $module->access[0]['access_search'];
$access_export = $module->access[0]['access_export'];
$access_import = $module->access[0]['access_import'];
$grants_menu_id = $module->access[0]['grants_menu_id'];
$grants_sub_menu_id = $module->access[0]['grants_sub_menu_id'];
$module_name = $module->module_name;
$join_menu = $sub_menu_name.'_'.$menu_name;
$check_box_input = form_checkbox("grants[]", $module->module_id, $module->grant, "class='module_$module->module_id'");
if((int)$module->menu_id === (int)$grants_menu_id){
$has_grant = true;
}
if((int)$module->sub_menu_id === (int)$grants_sub_menu_id){
$has_subgrant = true;
}
if($has_grant){
$menu_input = form_checkbox(array("name" =>'menu_id',"class" =>'menu_id',"id" =>$menu_name,"value" => $grants_menu_id, "checked" => true));
}else{
$menu_input = form_checkbox(array("name" =>'menu_id',"class" =>'menu_id',"id" =>$menu_name,"value" => $grants_menu_id));
}
if($has_subgrant){
$sub_menu_input = form_checkbox(array("name" =>'sub_menu_id',"class" =>'sub_menu_id',"id" =>$join_menu,"value" => $grants_sub_menu_id, "checked" => true));
}else{
$sub_menu_input = form_checkbox(array("name" =>'sub_menu_id',"class" =>'sub_menu_id',"id" =>$join_menu,"value" => $grants_sub_menu_id));
}
$add_id = $module->module_id ."::add";
$add_checkbox = form_checkbox(array("name" =>'access[]',"class" =>'module_'.$module->module_id,"value" => $add_id, "checked" => ($access_add) ? 1 : 0));
$update_id = $module->module_id ."::update";
$update_checkbox = form_checkbox(array("name" =>'access[]',"value" => $update_id, "class" =>'module_'.$module->module_id, "checked" => ($access_update) ? 1 : 0));
$delete_id = $module->module_id ."::delete";
$delete_checkbox = form_checkbox(array("name" =>'access[]',"value" => $delete_id, "class" =>'module_'.$module->module_id, "checked" => ($access_delete) ? 1 : 0));
$search_id = $module->module_id ."::search";
$search_checkbox = form_checkbox(array("name" =>'access[]',"value" => $search_id, "class" =>'module_'.$module->module_id, "checked" => ($access_search) ? 1 : 0));
$export_id = $module->module_id ."::export";
$export_checkbox = form_checkbox(array("name" =>'access[]',"value" => $export_id, "class" =>'module_'.$module->module_id, "checked" => ($access_export) ? 1 : 0));
$import_id = $module->module_id ."::import";
$import_checkbox = form_checkbox(array("name" =>'access[]',"value" => $import_id, "class" =>'module_'.$module->module_id, "checked" => ($access_import) ? 1 : 0));
$access_data = "<div style='padding:8px 15px;border-bottom:1px dashed #CCCCCC;margin-bottom:15px;background-color: #f2f2f2;'>
<label class='checkbox-inline'> $add_checkbox Add</label>
<label class='checkbox-inline'> $update_checkbox Update</label>
<label class='checkbox-inline'> $delete_checkbox Delete</label>
<label class='checkbox-inline'> $search_checkbox Search</label>
<label class='checkbox-inline'> $export_checkbox Export Data</label>
<label class='checkbox-inline'> $import_checkbox Import Data</label>
</div>";
$grand_data = "<label class='checkbox-inline' style='margin-bottom:6px;'>
$check_box_input <span class='prime_color'><b>$module_name :</b></span> Add, Update, Delete, and Search $module_name
</label>";
$menu_data = "<label class='checkbox-inline' style='margin-bottom:6px;'>
$menu_input <span style='color:#000000;Font-size:16px;'><b>$menu_text</b></span>
</label>";
$sub_menu_data = "<label class='checkbox-inline' style='margin-bottom:6px;'>
$sub_menu_input <span style='color:#4DC147;Font-size:14px;'><b>$submenu_text</b></span>
</label>";
$tr_line .= "<li>
$grand_data
$access_data
</li>";
}
$tr_line = "<ul id='ul_$join_menu' style='display:none;'>$tr_line</ul>";
$sub_line .= "<li>
$sub_menu_data
$tr_line
</li>";
}
$sub_line = "<ul id='ul_$menu_name' style='display:none;'>$sub_line</ul>";
$li_line .= "<li>
$menu_data
$sub_line
</li>";
}
/*============ SATHISH EMPLOYEE CUSTOME BLOCK END============*/
$read = '';
if($form_view->user_name){
$read = 'readonly';
}
if($form_view->password){
$read = 'readonly';
}
$user_name_label = form_label("User Name", 'user_name', array('class' => "control-label required"));
$user_name = form_input(array('name'=>'user_name','id'=>'user_name','class'=>'form-control input-sm',$read => 'true','value'=>$form_view->user_name));
// $password_label = form_label("Password", 'password', array('class' => "control-label required"));
$resend_btn ="<a class='btn btn-xs btn-primary' id='resend_pass' style='margin-top:7px'><i class='fa fa-repeat' aria-hidden='true'></i> Reset Password</a>";
if($form_view->$prime_id){
$place = "*********";
}else{
$place = "";
}
// $password = form_password(array('name'=>'password','id'=>'password','class'=>'form-control input-sm','placeholder'=>$place,'value'=>""));
if((int)$logged_user_role === 1 || (int)$logged_user_role === 2){
$tab_li .= "<li role='presentation'>
<a data-toggle='tab' href='#login'>Login</a>
</li>";
$tab_content.= "<div class='tab-pane fade' id='login' >
<h4 class='tab_head'>Login Information</h4>
<div class='form-group'>
$user_name_label
$user_name
</div>
<div class='form-group' stle='display:none;'>
$password_label
</div>
<div style='margin-left:30px;'>
$resend_btn
</div>
</div>";
$tab_li .= "<li role='presentation'>
<a data-toggle='tab' href='#permission'>Permission</a>
</li>";
$tab_content.= "<div class='tab-pane fade' id='permission' >
<h4 class='tab_head'>Permission Information</h4>
<ul id='permission_list'>
$li_line
</ul>
</div>";
}
/*============ UDY EMPLOYEE CUSTOME BLOCK ============*/
$view_content = str_replace("@TABLI",$tab_li,$view_content);
$view_content = str_replace("@TABCONTENT",$tab_content,$view_content);
$form_open = form_open("$controller_name/save/".$primeId,array("id"=>$form_id,"class"=>"form-inline"));
$form_close = form_close();
$prime_inupt = form_input( array("name"=>$prime_id, "id"=>$prime_id,"value"=>$primeId,"type"=>"hidden"));
$formula_text ="";
if((int)$formula_count > 0){
$formula_text = "<p style='color:blue;'>Blue color text is Formula Column.</p>";
}
//upload pdf file viewed popup
$upload_div = "<div class='modals' id='myModal' style='display:none;'>
<div class='modals-dialogs'>
<div class='modals-content'>
<div class='modals-header'>
<h4 class='modals-title'>View PDF</h4>
<a class='close view_pdf_close' onclick='close_popup_div();'>×</a>
</div>
<div class='modals-body' id='view_pdf'>
</div>
<div class='modals-footer'>
<a class='btn btn-danger' value='Close' id='popup_close' onclick='close_popup_div();'>Close</a>
</div>
</div>
</div>
</div>";
echo "$form_open
<fieldset id='FundBasicInfo' style='margin:0px;padding:8px;background-color:#f2f2f2;'>
<div id='flip' style='color: red;font-weight: bold;cursor:pointer;'>Click to View SAP Validation
</div>
<div id='panel'>
<table id='view_table' style='width:100%' class='table table-hover'></table>
</div>
$prime_inupt
$view_content
$formula_text
$upload_div
</fieldset>
$form_close";
?>
<script type="text/javascript">
$(document).ready(function(){
//WBS AUTOCOMPLETE STATIC !!!
var personal_code = $("#personal_code").val();
$("#personal_area").on('change', function() {
$("#wbs_element_hidden_1944").autocomplete("search", ""); //NB[20-09-23]
});
$('#wbs_element_hidden_1944').autocomplete({
source: function(request, response){
var personalCode = $("#personal_code").val();
$.getJSON('<?php echo site_url("$controller_name/wbs_suggest");?>',{
term: request.term,
personal_code: personalCode
}, response);
},
minLength: 3,
autoFocus: true,
scroll: true,
appendTo: '.modal-content',
select: function(e,ui){
$('#wbs_element_hidden_1944').val(ui.item.value);
$('#wbs_element').val(ui.item.value);
$('#wbs_element_hidden_1944').prop('readonly', true);
wbs_pay_struct(ui.item.value);
project_pay_struct(personal_code,ui.item.value);
return false;
}
});
//TOOLTIP ONCHANGE
$('.tooltip').on('change', function(){
var value = $(this).val();
if(value){
var selected_val = $(this).find('option:selected').text();
$(this).siblings('.tooltiptext').text(selected_val);
}else{
$(this).siblings('.tooltiptext').text('');
}
});
// VIEW INFO PROCESS QUERY ERROR THROWING
var module_sts = <?php echo json_encode($module_sts); ?>;
if(!module_sts){
toastr.warning('View Info Query Process Error...!');
return false;
}
// PAGE INFO PROCESS QUERY ERROR THROWING
get_permission();
var prime_id = "#<?php echo $prime_id;?>";
var form_id = "#<?php echo $form_id;?>";
var date_exist = "<?php echo $date_exist;?>";
var date_time_exist = "<?php echo $date_time_exist;?>";
var drop_exist = "<?php echo $drop_exist;?>";
var view_id = "<?php echo $form_view->$prime_id; ?>";
var user_right = "<?php echo $logged_user_role; ?>";
var unique_lables = '<?php echo $unique_lables; ?>';
var sap_status = "<?php echo $sap_status; ?>";
var wbs_element = "<?php echo $wbs_element; ?>";
var position = "<?php echo $position; ?>";
position_gross(wbs_element,position);
<?php echo $user_read_only;
// echo $name_append;
echo $upd_status; ?>
var wbs_element = parseInt($('#wbs_element').val());
if(wbs_element === 0){
$('#wbs_element_hidden_1944').val('');
}
if(drop_exist === "1"){
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
}
//EMP NAME ->PASTE
$("#emp_name").on("input paste", function() {
$(this).valid();
});
//GENDER BASED FATHER NAME READONLY
var gender = $("#gender").val();
gen_relation(gender);
$("#gender").change(function(){
var gender = $("#gender").val();
gen_relation(gender);
});
//esi eligibility hide show
/* var esi_eligibility = $("#esi_eligibility").val();
esi_eligibility_hide_show(esi_eligibility);
$("#esi_eligibility").change(function(){
var esi_eligibility = $("#esi_eligibility").val();
esi_eligibility_hide_show(esi_eligibility);
});
//PF Eligibiity hide show
var pf_eligibility = $("#pf_eligibility").val();
pf_eligibility_hide_show(pf_eligibility);
$("#pf_eligibility").change(function(){
var pf_eligibility = $("#pf_eligibility").val();
pf_eligibility_hide_show(pf_eligibility);
});*/
//Bank Acc No change then kyc required.
var prev_bank_acc_no = $("#bank_account_number").val();
var prev_ifsc_code = $("#ifsc_code_hidden_329").val();
$("#bank_account_number").on("input", function(){
var curr_bank_acc_no = $(this).val();
if(parseInt(curr_bank_acc_no) !== parseInt(prev_bank_acc_no)){
$("#upload_kyc_document").prop("required", true);
$('#row_cancel_304').hide();
}else{
$("#upload_kyc_document").prop("required", false);
}
prev_bank_acc_no = curr_bank_acc_no; // Update the previous value
});
//IFSC change.
$("#ifsc_code_hidden_329").on("change", function(){
var curr_ifsc_code = $(this).val();
if(parseInt(curr_ifsc_code) !== parseInt(prev_ifsc_code)){
$("#upload_kyc_document").prop("required", true);
$('#row_cancel_304').hide();
}else{
$("#upload_kyc_document").prop("required", false);
}
// Update the previous value
prev_ifsc_code = curr_ifsc_code;
});
$("#upload_kyc_document").on("change",function(){
var file_data = $('#upload_kyc_document').prop('files')[0];
if(file_data){
$("#upload_kyc_document").prop("required", false);
}else{
$("#upload_kyc_document").prop("required", true);
$('#submit').attr('disabled',true);
}
});
//username updated
if(parseInt(view_id) > 0){
var employee_code = $('#employee_code').val();
$('#user_name').val(employee_code);
}else{
$('#user_name').val('');
}
var date = new Date();
var currentMonth = date.getMonth();
var currentDate = date.getDate();
var currentYear = date.getFullYear();
/* $("#stop_payment_type").change(function(){
stop_payment = $('#stop_payment_type').val();
if(parseInt(stop_payment) != 3){
$('#stop_pay_status').val(1);
select_option();
}else{
$('#stop_pay_status').val(0);
select_option();
}
});*/
$('#user_name').attr('readonly', true);
if(date_exist === "1"){
$(function () {
$(".datepicker").datetimepicker({
format: 'DD-MM-YYYY',
//debug: true
});
});
}
$("#stop_pay_month").datetimepicker({
format: 'MM-YYYY',
//debug: true
});
//DOJ restrictions updated--12-09-2019--only new entry updates
//DOB and DOJ Between 14 Years difference findout
<?php
$curr_date = date("Y-m-d");
$dob_date = date("Y-m-d",strtotime("-14 year"));
?>
var today = moment(new Date(), 'DD-MM-YYYY').format('YYYY-MM-DD');
<?php if($form_view->$prime_id == "") {?>
$("#date_of_wedding").datetimepicker({
format: 'DD-MM-YYYY',
maxDate: moment(today),
}).val('');
$("#date_of_joining").datetimepicker({
format: 'DD-MM-YYYY',
maxDate: moment(today)
}).val('');
<?php } ?>
$('textarea').on('keyup keypress', function(e) {
if(e.keyCode === 13) {
e.stopPropagation();
}else
if(e.shiftKey){
e.stopPropagation();
}
});
$("#year_of_passing").datetimepicker({
format: 'YYYY',
});
$(".number").bind('keyup', function(e){
this.value = this.value.replace(/[^0-9_.]/g,'');
});
$('.alpha').bind('keypress', function (event){
var regex = new RegExp("^[a-zA-Z0-9\-_.@\/\\s]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
$(".alpha_text").keypress(function(event){
var regex = new RegExp("^[a-zA-Z\\s]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
/*$("#pan_number").change(function(){
var inputvalues = $(this).val();
var regex = /[A-Z]{5}[0-9]{4}[A-Z]{1}$/;
if(!regex.test(inputvalues)){
$("#pan_number").val("");
toastr.error("Please enter valid pan number");
return regex.test(inputvalues);
}
});*/
$.validator.setDefaults({ignore:[]});
$.validator.addMethod("alphanumeric", function(value, element){
return this.optional(element) || /^[a-z0-9\-\s]+$/i.test(value);
}, "Allow only letters, numbers, or dashes.");
$.validator.addMethod("pan_number", function(value, element){
return this.optional(element) || /[A-Z]{5}[0-9]{4}[A-Z]{1}$/.test(value);
}, "Please enter valid PAN Number.");
$(form_id).submit(function(event){ event.preventDefault(); }).validate({
ignore: ".ignore",
// ignore: ":hidden",
invalidHandler: function(e, validator){
if(validator.errorList.length)
$('.nav-tabs a[href="#' + $(validator.errorList[0].element).closest(".tab-pane").attr('id') + '"]').tab('show');
},
rules:{
<?php echo $validation_rule; ?>
user_name: "required",
password:
{
<?php
if($form_view->$prime_id == "")
{
?>
required:true,
<?php
}
?>
minlength: 4
},
emp_name:
{
alphatext :true
},
mobile_number:
{
mobile :true
},
pan_number:
{
pan_number :true
}
},
submitHandler: function (form){
$("#submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#submit').attr('disabled','disabled');
//Encrypted
let formData = new FormData(form);
// Convert FormData to JSON object
let jsonData = Object.fromEntries(formData.entries());
var grants_arr = [];
var access_arr = [];
var i = 0;
$('input[name="grants[]"]:checkbox:checked').each(function (a , b) {
grants_arr[a] = b.value;
});
$('input[name="access[]"]:checkbox:checked').each(function (a , b) {
access_arr[a] = b.value;
});
jsonData['grants'] = grants_arr;
jsonData['access'] = access_arr;
<?php echo $json_multi; ?>;
var encKey = '<?php echo $encKey; ?>';
var encData = encrypt(encKey,jsonData);
$.ajax({
type: "POST",
url: '<?php echo site_url("$controller_name/save"); ?>',
data:encData,
contentType: 'text/plain',
success: function (response){
$('#submit').attr('disabled',false);
$("#submit").html("Submit");
if(response.success){
$(prime_id).val(response.insert_id);
if(response.code_exist === 1){
toastr.success('This Employee code is Already Exist... Your Employee Code is '+response.emp_code);
}else{
$("#flip,#panel").hide();
toastr.success(response.message);
}
$('.modal').modal('hide');
$('.row_btn').show();
$('#table').DataTable().ajax.reload();
}else{
if(response.category_status){
$('#role,#employee_code').val('');
select_option();
}
if(response.check === "Procedure"){
datatable_struct_create(response.table_info);
}
toastr.error(response.message);
}
},
dataType: 'json'
});
}
});
/* LOAD SCRIPT AND CONDITION LOAD */
<?php
echo "$document_load_script";
foreach($condition_list as $list){
echo $list;
}
?>
/* LOAD SCRIPT AND CONDITION LOAD */
/* LOAD SCRIPT AND CONDITION LOAD */
//DOB ONCHANGE
$('#date_of_birth').on("dp.hide",function (e) {
prime_id = '<?php echo $form_view->$prime_id; ?>';
var dob = $('#date_of_birth').val();
var doj = $('#date_of_joining').val();
date_diff_cal(prime_id,doj,dob);
});
//DOJ ONCHANGE
$('#date_of_joining').on("dp.hide",function (e) {
prime_id = '<?php echo $form_view->$prime_id; ?>';
var date_of_joining = $('#date_of_joining').data("DateTimePicker").date().format('DD-MM-YYYY');
if(date_of_joining){
$('#password').val(date_of_joining);
$('#pf_confirm_date').val(date_of_joining);
}
var dob = $('#date_of_birth').val();
var doj = $('#date_of_joining').val();
date_diff_cal(prime_id,doj,dob);
});
/* $('#retirement_years').on("change",function(e){
var dob = $('#date_of_birth').val();
if(dob === ""){
toastr.error("Date of Birth Should not Empty");
$('#emp_age').val('');
$('#retirement_date').val('');
$('#retirement_years').val('');
}
});*/
$('.datepicker').on("dp.hide",function (e) {
var dob = $('#date_of_birth').val();
var doj = $('#date_of_joining').val();
var prev_date = $('#previous_from_date').val();
var retire_date = $('#retirement_date').val();
if(dob === ""){
$('#emp_age').val('');
$('#retirement_date').val('');
$('#retirement_years').val('');
}
if(doj === ""){
$('#confirmation_date').val('');
}
if(prev_date === ""){
$('#past_to_date').val('');
}
var date_of_joining = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');
var retirement_date = moment(retire_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
if(retirement_date){
if(date_of_joining > retirement_date){
var retirement_years = $('#retirement_years').val();
if(parseInt(retirement_years) !==0){
toastr.error("Date of joining is less than Retirement Year, change the date?");
$('#submit').attr('disabled','disabled');
}else{
$('#submit').attr('disabled',false);
}
}
}
});
var old_role = $("#role").val();
if(old_role === "4"){
$("#aadhar_card_no").addClass('ignore');
}else{
$("#aadhar_card_no").removeClass('ignore');
}
$("#role").change(function(){
var view_id = "<?php echo $form_view->$prime_id; ?>";
var role = $("#role").val();
if(view_id === ""){
get_employee_code(role);
if(role === "4"){
$("#aadhar_card_no").addClass('ignore');
}else{
$("#aadhar_card_no").removeClass('ignore');
}
}else
if(view_id){
//CHECK LOAN INSTALLMENT
var employee_code = $("#employee_code").val();
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {employee_code:employee_code};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",async: false,
url: '<?php echo site_url("$controller_name/check_loan_installment"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
// ;
if(rslt.success){
$.confirm({
content: 'Are you sure you want to change this Category?',
escapeKey: 'Yes',
onOpenBefore: function () {
},
buttons: {
Yes: function(){
//get_employee_code(role);
if(role === "4"){
$("#aadhar_card_no").addClass('ignore');
}else{
$("#aadhar_card_no").removeClass('ignore');
}
},
No: function(){
$("#role").val(old_role);
select_option();
}
}
});
}else{
toastr.warning('Please Update the loan foreclose and try again!');
$("#role").val(old_role);
select_option();
}
}
});
}
});
$("#user_right").change(function(){
var user_right = $("#user_right").val();
$.confirm({
content: 'Are you sure you want to change this rights?',
escapeKey: 'Yes',
buttons: {
Yes: function(){
get_permission_list(user_right);
},
No: function(){
$("#user_right").val('<?php echo $form_view->user_right; ?>');
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
}
}
});
});
//Permission Hide Show
$(document).on("click","input[name = 'menu_id']",function() {
var menu_id = $(this).attr('id');
var menu_id = 'ul_'+menu_id;
if ($(this).is(':checked')) {
$('ul #'+menu_id).show();
if(!$('ul #'+menu_id).find('b').html()){
$('ul #' + menu_id + ' :checkbox').prop('checked', true);
$('ul #' + menu_id ).find("input[name = 'sub_menu_id']").prop('checked', true);
$('ul #' + menu_id ).find("input[name = 'sub_menu_id']").show();
var sub_menu_id = $('ul #' + menu_id ).find("input[name = 'sub_menu_id']").attr('id');
var sub_menu_id = 'ul_'+sub_menu_id;
$('ul #'+sub_menu_id).show();
}
}else{
$('ul #'+menu_id).hide();
}
});
//$("input[name = 'sub_menu_id']").click(function(){
$(document).on("click","input[name = 'sub_menu_id']",function(){
var sub_menu_id = $(this).attr('id');
var sub_menu_id = 'ul_'+sub_menu_id;
if ($(this).is(':checked')) {
$('ul #'+sub_menu_id).show();
$('ul #' + sub_menu_id + ' :checkbox').prop('checked', true);
}else{
$('ul #'+sub_menu_id).hide();
$('ul #' + sub_menu_id + ' :checkbox').prop('checked', false);
}
});
$(document).on("click","input[name = 'grants[]']",function() {
var module_class = $(this).attr('class');
if ($(this).is(':checked')) {
$('.'+module_class).prop('checked', true);
}else{
$('.'+module_class).prop('checked', false);
}
});
$('#employee_code').on("focusout", function(){
var employee_code = $('#employee_code').val();
$('#user_name').val(employee_code);
var send_url = '<?php echo site_url("$controller_name/employee_code_exit"); ?>';
var view_id = "<?php echo $form_view->$prime_id; ?>";
if(employee_code){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {employee_code:employee_code,view_id:view_id};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
$('#submit').attr('disabled',false);
toastr.success(rslt.message);
}else{
$('#submit').attr('disabled','disabled');
$('#employee_code').val('');
toastr.error(rslt.message);
}
}
});
}else{
$('#submit').attr('disabled',false);
}
});
//remove --select -- options
$('#language_proficiency option').filter(function(){
return !this.value || $.trim(this.value).length == 0;
}).remove();
//Date based validations -- start
var last_resign_date = '<?php echo $resignation_date; ?>';
var previous_date = $('#resignation_date').val();
var pre_seperation_type = $('#separation_type').val();
//resignation date check with validations -- 13SEP2019
$('#resignation_date').on("dp.hide",function (e) {
e.preventDefault();
// $('#submit').attr('disabled','disabled');
var today = moment(new Date(), 'DD-MM-YYYY').format('YYYY-MM-DD');
var doj = $('#date_of_joining').val();
var date_of_joining = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');
var resignation_date = $('#resignation_date').val();
if(resignation_date){
//var last_resign_date = moment(last_resign_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
var resign_date = moment(resignation_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
var role = $('#role').val();
if(resign_date < date_of_joining){
$('#resignation_date,#separation_type').val('');
$('#termination_status').val(0);
select_option();
toastr.error("Resignation date not less than date of joining, please choose another date?");
return false;
}
if(today < resign_date){
$('#resignation_date,#separation_type').val('');
$('#termination_status').val(0);
select_option();
toastr.error("Resignation date not allowed greater than today date?");
return false;
}
if(resignation_date !== last_resign_date){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {resignation_date:resignation_date,role:role};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url("$controller_name/check_payroll"); ?>',
data:encData,
contentType: 'text/plain',
beforeSend: function () {
$('#submit').attr('disabled','disabled');
},
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
$.confirm({
title: 'Confirm!',
content: 'Are You Sure this Employee was Resigned?',
type: 'red',
animationSpeed: 200,
buttons:{
tryAgain:{
text: 'Yes',
btnClass: 'btn-red',
action: function(){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {resignation_date: resignation_date, role: role };
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url("$controller_name/check_payroll"); ?>',
data:encData,
contentType: 'text/plain',
beforeSend: function(){
$('#submit').attr('disabled', 'disabled');
},
success: function(data){
$('#termination_status').val(1).trigger('change');
toastr.success(rslt.message);
$('#submit').attr('disabled',false);
}
});
}
},
No: function(){
$('#separation_type').val(pre_seperation_type).trigger('change');
$('#resignation_date').val(previous_date);
$('#termination_status').val(0);
$('#submit').attr('disabled',false);
}
}
});
last_resign_date = resignation_date;
}else{
$('#resignation_date,#separation_type').val('');
$('#termination_status').val(0);
select_option();
toastr.warning(rslt.message);
}
}
});
}
}else{
$('#resignation_date,#separation_type').val('');
$('#termination_status').val(0);
select_option();
$('#submit').attr('disabled',false);
}
});
$("#separation_type").change(function(){
var role = $('#role').val();
var separation_type = $('#separation_type').val();
if(separation_type){
var resignation_date = $('#resignation_date').val();
if(resignation_date){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {resignation_date:resignation_date,role:role };
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url("$controller_name/get_last_working"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
$('#last_working_date').val(rslt.notice_day);
$('#termination_status').val(1);
}else{
toastr.error(rslt.msg);
$('#last_working_date').val('');
$('#separation_type').val('');
}
select_option();
}
});
}else{
$('#separation_type').val('');
toastr.error("Resignation Date Should Not be Empty.!");
}
}
});
//seperation date check with validations -- 13SEP2019
$('#last_working_date').on("dp.hide",function (e) {
var today = moment(new Date(), 'DD-MM-YYYY').format('YYYY-MM-DD');
var doj = $('#date_of_joining').val();
var date_of_joining = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');
var last_working_date = $('#last_working_date').val();
var last_date = moment(last_working_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
if(last_date <= date_of_joining){
toastr.error("Seperation date not less than date of joining, please choose another date?");
$('#last_working_date').val('');
}
if(today < last_date){
toastr.error("Last working date not allowed greater than today date?");
$('#last_working_date').val('');
}
});
//family date check and validations -- 13SEP2019
$('#family_date_of_birth').on("dp.hide",function (e) {
var family_birth_date = $('#family_date_of_birth').val();
var today = moment(new Date(), 'DD-MM-YYYY').format('YYYY-MM-DD');
var family_date = moment(family_birth_date, 'DD-MM-YYYY').format('YYYY-MM-DD');
if(today < family_date){
toastr.error("Date of Birth not allowed greater than today date?");
$('#family_date_of_birth').val('');
}
});
//Date based validations -- end
//Pincode Empty updated
<?php if($form_view->$prime_id == ""){ ?>
$('#pin_code').val('');
$('#present_pin_code').val('');
<?php }else{?>
var pin_code = $('#pin_code').val();
var present_pin_code = $('#present_pin_code').val();
if(pin_code == 0){
$('#pin_code').val('');
}
if(present_pin_code == 0){
$('#present_pin_code').val('');
}
<?php } ?>
//Disable Auto Fetch
<?php
if($form_view->$prime_id == ""){?>
$('.datepicker').val('');
<?php } ?>
$("#pf_eligibility").change(function(){
var pf_eligibility = $('#pf_eligibility').val();
if(parseInt(pf_eligibility) === 1){
pf_acc_show_all();
}else{
pf_acc_hide_all();
}
});
//professional tax location based range is checking
$("#professional_tax_location").change(function(){
var tax_loc = $('#professional_tax_location').val();
if(tax_loc){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {tax_loc:tax_loc };
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/tax_range_check"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
if(!rslt.success){
toastr.error(rslt.msg);
$('#professional_tax_location').val('0');
select_option();
}
},
});
}
});
//date of wedding restrictions start date of birth and martial status based to updates
$('#date_of_wedding').on("dp.hide",function (e) {
var martial_sts = $('#marital_status').val();
var dob = $('#date_of_birth').val();
var dow = $('#date_of_wedding').val();
if(parseInt(martial_sts) === 1 && dob.length !=0){
var dob_date = moment(dob, 'DD-MM-YYYY').format('YYYY-MM-DD');
var dow_date = moment(dow, 'DD-MM-YYYY').format('YYYY-MM-DD');
if(dow_date <= dob_date){
toastr.error("Date of wedding is not less than date of birth?");
$('#date_of_wedding').val('');
}
}else
if(dow.length !=0){
toastr.warning("Please check martial status and date of birth of employee?");
}
});
//Maritial status hide and show --MRJ-start 18FEB2020
var marital_status = $('#marital_status').val();
if(parseInt(marital_status) === 1){
show_all();
}else{
hide_all();
}
$('#marital_status').on("change",function(e){
var marital_status = $('#marital_status').val();
if((parseInt(marital_status) === 2) || (marital_status == '')){
hide_all();
}else{
show_all();
}
});
//Maritial status hide and show --MRJ-end 18FEB2020
default_hide();
/*var department = $("#department").val();
get_position(department);
$("#department").change(function(){
var department = $('#department').val();
get_position(department);
});*/
$('#mobile_number,#additional_mobile_number,#father_contact,#mother_contact,#reference_1_mobile_no,#friend_name_1_mobile_no').change(function(){
var $current = $(this);
$('#mobile_number,#additional_mobile_number,#father_contact,#mother_contact,#reference_1_mobile_no,#friend_name_1_mobile_no').each(function() {
if ($(this).val() == $current.val() && $(this).attr('id') != $current.attr('id')){
toastr.error('duplicate found!');
$('#'+$current.attr('id')).val('');
return false;
}
});
});
//DR CODE START FOR EMPLOYEE APPROVAL NOT CHANGE BECAUSE INCREMENT APPROVAL STATUS BENDING
/*var increment_approve_type = $('#increment_approve_type').val();
var increment_first_level = $('#increment_first_level').val();
var increment_second_level = $('#increment_second_level').val();
var increment_third_level = $('#increment_third_level').val();
$("#increment_first_level,#increment_second_level,#increment_third_level,#increment_approve_type").change(function(){
var employee_code = $('#employee_code').val();
var send_url = '<?php //echo site_url("$controller_name/employee_approval_change"); ?>';
$.ajax({
type: "POST",
url: send_url,
data:{employee_code:employee_code},
success: function(data){
var rslt = JSON.parse(data);
if(!rslt.success){
toastr.error(rslt.message);
$('#increment_first_level').val(increment_first_level);
$('#increment_second_level').val(increment_second_level);
$('#increment_third_level').val(increment_third_level);
$('#increment_approve_type').val(increment_approve_type);
select_option();
}
}
});
});*/
var first_level_approval = $('#first_level_approval').val();
var second_level_approval = $('#second_level_approval').val();
var approve_type = $('#approve_type').val();
$("#first_level_approval,#second_level_approval,#approve_type").change(function(){
var employee_code = $('#employee_code').val();
var send_url = '<?php echo site_url("$controller_name/employee_leave_approval_change"); ?>';
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {employee_code:employee_code};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(!rslt.success){
toastr.error(rslt.message);
$('#first_level_approval').val(first_level_approval);
$('#second_level_approval').val(second_level_approval);
$('#approve_type').val(approve_type);
select_option();
}
}
});
});
// DR CODE FOR TAB WISE VALIDATION AND SOME CREDETIAL ACCESS CHECKING...
$("ul.nav-tabs li").find('a[data-toggle="tab"]').filter(function () {
$(this).attr("id",$(this).attr("href"));
});
var input_require_arr = [];
var input_empty_arr = [];
var relateTab_event = '';
var currentTab_event = '';
//tab changes based on active tab wise input required check validation
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
var relatedHref = $(e.relatedTarget).attr("href");
var currentHref = $(e.target).attr("href"); // activated tab
input_require_arr = [];
input_empty_arr = [];
relateTab_event = e.relatedTarget;
currentTab_event = e.currentTarget;
// active tab wise input required check validation
$(""+relatedHref+"").find(':input').filter(function (){
//only working for update
if(parseInt(view_id) > 0){
input_req_tab_control(this,input_require_arr,input_empty_arr,relateTab_event,currentTab_event);
}
});
});
$("#flip").click(function(){
// $("#panel").show();
$("#panel").slideToggle("slow");
});
$("#personal_code").change(function(){ //NB[20-09-23]
$("#wbs_element_hidden_1944").val('');
$('#wbs_element_hidden_1944').prop('readonly', false);
$('#position,#activity_no,#project_id').val('');
$('#position,#activity_no,#project_id').siblings('.tooltiptext').text('');
$('#select2-position-container,#select2-activity_no-container,#select2-project_id-container').empty();
});
//sap unique input on change to check unique validation
$(unique_lables).on('change', function(e){
var view_id = "<?php echo $form_view->$prime_id; ?>";
var change_id = $(this).attr("id");
var change_inp_val = $("#"+change_id+"").val();
var employee_code = $("#employee_code").val(); // to link prev inactive employee
var aadhar_card_no = $("#aadhar_card_no").val(); // to link prev inactive employee
var entry_flag = $("#entry_flag").val();
input_uniq_validation(view_id,employee_code,aadhar_card_no,change_id,change_inp_val,entry_flag);
});
//wbs element based pay structure position value get
// var wbs_element = $('#wbs_element').val();
// if(wbs_element){
// wbs_pay_struct(wbs_element);
// }else{
// $('#project_id').val('');
// $('#network_id').val('');
// $('#position').val('');
// $('#activity_no,#activity_no_hidden_1846').val('');
// }
//DR CODE FOR GENDER WISE HIDE AND SHOW
var gender = $("#gender").val();
gender_wise_hide(gender);
$('#gender').on("change",function(e){
var gender = $("#gender").val();
gender_wise_hide(gender);
});
//BANK DETAILS HIDE AND SHOW -> NB[31-08-23]
var bank_key = $("#bank_key").val();
bank_details_hide_show(bank_key);
$('#bank_key').on("change",function(e){
$('#bank_account_number').val('');
$('#bank_name').val('');
$('#ifsc_code,#ifsc_code_hidden_329').val('');
var bank_key = $("#bank_key").val();
bank_details_hide_show(bank_key);
});
//DR CODE START FOR PERSONAL AREA BASED LOCATION DEFAULT FETCH AND AREA CONTROL PICKLIST FETCH
emp_location_fetch(personal_code);
//AREA CONTROL PICKLIST FETCH
var area_access = $("#area_access").val();
area_control_fetch(personal_code,area_access);
$('#personal_code').on("change",function(e){
var personal_code = $("#personal_code").val();
emp_location_fetch(personal_code);
//AREA CONTROL PICKLIST FETCH
area_control_fetch(personal_code,area_access);
});
//STOP PAY AND HOLD REASON BASED ON CHANGE VALIDATIONS
$(document).on('change','#stop_pay_code,#hold_reason', function(e) {
var change_id = $(this).attr("id");
var change_inp_val = $("#"+change_id+"").val();
if(change_id === "stop_pay_code"){
if(change_inp_val === "N"){
$("#hold_reason").val('');
}
}else
if(change_id === "hold_reason"){
var stop_pay_code_val = $("#stop_pay_code").val();
if(stop_pay_code_val === "N"){
$("#hold_reason").val('');
}
}
});
//POSITION BASED PRO TAX ACTIVITY NO FETCH
$('#position').on("change",function(e){
var role = $("#role").val();
var position = $("#position").val();
var personal_code = $("#personal_code").val();
var wbs_element = $("#wbs_element").val();
if(position && personal_code && wbs_element){
activity_no_fetch(position,personal_code,wbs_element,role);
}
});
$('#resend_pass').on('click',function(){
$('#resend_pass').attr('disabled','disabled');
$("#resend_pass").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
var send_url = '<?php echo site_url("$controller_name/reset_pass"); ?>';
var employee_code = $("#employee_code").val();
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {employee_code:employee_code};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
toastr.success(rslt.message);
$('#resend_pass').attr('disabled',false);
$("#resend_pass").html("Reset Password");
}else{
toastr.error(rslt.message);
}
}
});
})
});
//------------------------- FUNCTION START --------------------------------------------------------
//DR FUNCTION FOR WBS AND POSITION BASED AND ACTIVE PAY STRUCTURE BASED ACTIVITY NO AND TAX LOCATION FETCH
function activity_no_fetch(position,personal_code,wbs_element,role){
$('#activity_no').siblings('.tooltiptext').text('');
var send_url = '<?php echo site_url("$controller_name/activity_no_fetch"); ?>';
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {position:position,personal_code:personal_code,wbs_element:wbs_element,role:role};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
beforeSend : function(){
$("#select2-activity_no-container").html("<i class='fa fa-spinner fa-spin'></i> Loading...");
$('#select2-activity_no-container').attr('disabled','disabled');
},
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
var activity_no = rslt.rslt_data[0]['activity_no'];
var tax_location = rslt.rslt_data[0]['tax_location'];
var category = rslt.rslt_data[0]['category'];
$('#role').val(category);
$('#activity_no').val(activity_no);
var selectedText = $('#activity_no option[value="' + activity_no + '"]').text();
$('#activity_no').siblings('.tooltiptext').text(selectedText);
$('#professional_tax_location').val(tax_location);
select_option();
$('#select2-activity_no-container').attr('disabled',false);
}else{
toastr.error(rslt.message);
}
}
});
}
//dr code for sap input unique validation function
function input_uniq_validation(view_id,employee_code,aadhar_card_no,change_id,change_inp_val,entry_flag){
var send_url = '<?php echo site_url("$controller_name/input_uniq_validation"); ?>';
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {view_id:view_id,employee_code:employee_code,change_id:change_id,change_inp_val:change_inp_val,entry_flag:entry_flag,aadhar_card_no:aadhar_card_no};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
$("#flip,#panel").hide();
$("#submit").show();
toastr.success(rslt.message);
}else{
datatable_struct_create(rslt.table_info);
$("#submit").hide();
toastr.error(rslt.message);
}
}
});
}
//sap unique and mandate error through datatable
function datatable_struct_create(table_data){
$("#flip").show();
$("#panel").parent().show();
//FORM INPUT UNIQUE AND MANDATE VALIDATION ERROR THROUGH TABLE
var table = $('#view_table').DataTable({
destroy: true,
paging :false,
language:{
searchPlaceholder: "Search records",
search: "",
},
scrollY: 250,
scrollCollapse: true,
data: table_data,
columns: [
{ title: "Employee Code",data: "employee_code" },
{ title: "Field Name",data: "field_name",
render:function(value) {
return "<span style = 'color:red;'>"+value+"</span>"
} },
{ title: "Field Value",data: "field_value" },
{ title: "Error Message",data: "error_message" }
]
});
$("#panel").slideToggle("slow");
$("input[type='search']").addClass('form-control');
}
// FILE UPLOAD REMOVE
function remove_file(prime_id,is_defult,input_name){
var prime_id_val = $("#"+prime_id).val();
var input_val = $("#"+input_name).val();
var send_url = '<?php echo site_url("$controller_name/remove_file"); ?>';
if(confirm('Are sure delete the file?')){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {prime_id:prime_id,prime_id_val:prime_id_val,is_defult:is_defult,input_name:input_name,input_val:input_val};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
$("#"+input_name).val("");
$("#table_"+input_name).attr("style", "display:none");
}
});
}
}
//PROGRESS STATUS FILE UPLOAD
function progress_bar(id) {
i = 0;
var elem = document.getElementById("process_"+id+"");
var width = 0;
var internal = setInterval(frame, 10);
function frame() {
if (width >= 100) {
clearInterval(internal);
i = 0;
$('#div_'+id+'').hide();
$('#submit').attr('disabled',false);
$('#submit').html('Submit');
} else {
width++;
elem.style.width = width + "%";
elem.innerHTML = width + "%";
}
}
}
//CHECK FILE SIZE FOR UPLOAD
function check_upload_size(size){
size = (size / 1024 / 1024).toFixed(2);
if(parseInt(size) <= 2){
return true;
}else{
return false;
}
}
function row_set_edit(row_id,table_name,view_id){
if((row_id !== "") && (table_name !== "")){
var send_url = '<?php echo site_url("$controller_name/row_set_edit"); ?>';
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,{row_id:row_id,table_name:table_name,view_id:view_id});
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType:'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
var table_name_set = rslt.table_name;
$.each( rslt.row_result, function(key,value){
if(value.field_type === "6"){
$('#'+key).prop('checked', false);
if(value.input_value === "1"){
$('#'+key).prop('checked', true);
}
}else
if((value.field_type === "5") || (value.field_type === "7")){
var selectedOptions = value.input_value.split(",");
for(var i in selectedOptions) {
var optionVal = selectedOptions[i];
$("#"+key).find("option[value='"+optionVal+"']").prop("selected", "selected");
}
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
}else
if(value.field_type === "10"){
var access_delete = "<?php echo $access_deletess;?>";
var access_update = "<?php echo $access_update;?>";
var result = value.input_value.split("/");
var file_name = result[2];
file_name = file_name.replace(/^\d+_/, '');
file_name = file_name.toLowerCase();
var file_ext_type = file_name.split(".").pop();
var prime_id = "<?php echo $prime_id;?>";
var upload_id = "upload_"+key;
var tabel_id = "table_"+key;
var proof = "<?php echo base_url();?>"+value.input_value;
var proofs = proof.split(/\s/).join('');
var field_isdefault = "<?php echo $field_isdefault;?>";
if(parseInt(access_delete)=== 0){
var remove_btn = "";
}else{
var remove_btn = "<a onclick=rowset_remove_file('"+row_id+"','"+table_name_set+"','"+key+"','"+view_id+"','"+primes_id+"'); style='color: red; cursor: pointer;'><i class='fa fa-times' aria-hidden='true'></i>Remove</a>";
}
if(parseInt(access_update) === 0){
var view_btn = "";
}else{
if(file_ext_type === 'rar' || file_ext_type === 'zip' || file_ext_type === 'eml' || file_ext_type === 'msg' ){
var view_btn = "<a href ="+proof+" format.pdf = '' target='_blank' download ="+file_name+" style='cursor: pointer;color:blue;'><i class='fa fa-download' style='margin-right:5px' aria-hidden='true'></i>Download</a> ";
}else{
var view_btn = "<a onclick = view_upload_file('"+proof+"','"+file_ext_type+"'); style='cursor: pointer; color:blue;'><i class='fa fa-folder-open' aria-hidden='true'></i> View</a>";
}
}
var input_box = "<input type='text' id='" + key + "' name='" + key + "' value='" + file_name + "' style='border:none !important' readonly><table style='width: 100%;' id='"+tabel_id+"'><tr><td colspan='2'><div class='progress_bar' id='div_"+key+"' style='display:none;'><div class='process_percent' id='process_"+key+"'>10%</div></div></td></tr><tr><td style='text-overflow: ellipsis; overflow: hidden; white-space: nowrap; max-width: 100px;'>"+view_btn+"</td></tr></table>";
if(value.input_value === ""){
$("#table_"+key).html("");
}else{
$("#table_"+key).html(input_box);
$("#table_"+key).css("display", "");
$("#"+key).attr('value', value.input_value);
}
}
else{
$('#'+key).val(value.input_value);
}
});
}
});
}
}
function row_set_remove(row_id,table_name,view_id,prime_id){
if((row_id !== "") && (table_name !== "")){
if (confirm('Are you sure want to delete this record?')) {
var send_url = '<?php echo site_url("$controller_name/row_set_remove"); ?>';
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,{row_id:row_id,table_name:table_name,view_id:view_id,prime_id});
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType:'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
// toastr.success(rslt.msg);
$('#'+rslt.row_set_data.div_id).html(rslt.row_set_data.row_set_view);
$('#'+rslt.row_set_data.table_id).DataTable();
}
});
}
}
}
function rowset_remove_file(row_id,table_name_set,input_name,view_id,primes_id){
$('#submit').attr('disabled','disabled');
var send_url = '<?php echo site_url("$controller_name/rowset_remove_file"); ?>';
if(confirm('Are sure delete the file?')){
$.ajax({
type: "POST",
url: send_url,
data:{row_id:row_id,table_name_set:table_name_set,input_name:input_name,view_id:view_id,primes_id:primes_id},
success: function(data) {
var rslt = JSON.parse(data);
$("#"+input_name).val("");
$("#table_"+input_name).attr("style", "display:none");
$('#'+rslt.div_id).html(rslt.row_set_view);
$('#'+rslt.table_id).DataTable();
}
});
}
}
/* Get Employee Auto Generation Code */
function get_employee_code(role){
var send_url = '<?php echo site_url("$controller_name/get_employee_code"); ?>';
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {role:role};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
$('#employee_code').val(rslt.digits);
$('#user_name').val(rslt.digits);
}else
if(rslt.sts = 0){
toastr.success(rslt.message);
}else{
toastr.warning(rslt.message);
//$('#employee_code').val('');
//$('#user_name').val('');
}
}
});
}
function get_permission_list(user_right){
var send_url = '<?php echo site_url("$controller_name/get_permission_list"); ?>';
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {user_right:user_right};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.li_line){
$('#permission_list').html(rslt.li_line);
get_permission_list_up(rslt.menu_checked,rslt.sub_menu_checked);
}
}
});
}
function month_year(){
$(".datepicker").datetimepicker({
format: 'MM-YYYY',
});
}
function hide_all(){
$('#date_of_wedding,#spouse_name,#spouse_contact_no').parent().hide();
$('#date_of_wedding,#spouse_name,#spouse_contact_no').addClass('ignore');
}
function show_all(){
$('#date_of_wedding,#spouse_name,#spouse_contact_no').parent().show();
$('#date_of_wedding,#spouse_name,#spouse_contact_no').removeClass('ignore');
}
function pf_acc_show_all(){
$('#pf_account_number').parent().show();
}
function pf_acc_hide_all(){
$('#pf_account_number').parent().hide();
}
function get_permission(){
var menu_checked = '<?php echo json_encode($menu_checked); ?>';
var obj = jQuery.parseJSON(menu_checked);
$.each(obj, function(key,value) {
$('#'+value).prop('checked', true);
});
$('input:checkbox[name="menu_id"]:checked').each(function(){
var menu_id = $(this).attr("id");
var menu_id = 'ul_'+menu_id;
if ($(this).is(':checked')) {
$('ul #'+menu_id).show();
}else{
$('ul #'+menu_id).hide();
}
});
$('input:checkbox[name="sub_menu_id"]:checked').each(function(){
var sub_menu_id = $(this).attr('id');
var sub_menu_id = 'ul_'+sub_menu_id;
if ($(this).is(':checked')) {
$('ul #'+sub_menu_id).show();
}else{
$('ul #'+sub_menu_id).hide();
}
});
}
function get_permission_list_up(menu_checked,sub_menu_checked){
$.each(menu_checked, function(key,value) {
$('#'+value).prop('checked', true);
var menu_id = 'ul_'+value;
$('ul #'+menu_id).show();
});
$.each(sub_menu_checked, function(key,value) {
$('#'+key).prop('checked', true);
var sub_menu_id = "ul_"+key;
$('#'+sub_menu_id).show();
});
}
function select_option(){
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
allowClear: true,
tokenSeparators: [',']
});
});
}
//Doj and dob based age restrictions
function date_diff_cal(prime_id,doj,dob){
$('#submit').attr('disabled','disabled');
var min_age = '<?php echo $comp_info->minimum_age; ?>';
var max_age = '<?php echo $comp_info->maximum_age; ?>';
if(doj.length !=0 && dob.length !=0){
var doj_date = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');//date and year based updates
var dob_date = moment(dob, 'DD-MM-YYYY').format('YYYY-MM-DD');
var from = moment(dob_date, 'YYYY-MM-DD'); // format in which you have the date
var to = moment(doj_date, 'YYYY-MM-DD'); // format in which you have the date
/* using diff */
var duration = to.diff(from, 'days');
var years = parseInt((duration+1)/365);
if(min_age > years){
toastr.error("Date of joining and date of birth minimum difference is "+min_age+" years, Under Age Issue");
$('#date_of_birth').addClass('error');
}else
if(max_age < years){
toastr.error("Date of joining and date of birth Maximum difference is "+max_age+" years, Over Age Issue");
$('#date_of_birth').addClass('error');
}else{
$('#date_of_birth').removeClass('error');
$('#submit').attr('disabled',false);
}
}
}
function empty_seperation(){
$('#resignation_date').val('');
$('#resignation_letter_upload').val('');
$('#separation_type').val('');
$('#last_working_date').val('');
$('#separation_reason').val('');
$('#termination_status').val(0);
select_option();
}
//Need to remove this
function default_hide(){
$('#course_degree_name,#increment_first_level,#increment_second_level,#increment_third_level,#entry_flag,#project_id').parent().hide();
$('#course_degree_name,#increment_first_level,#increment_second_level,#increment_third_level,#entry_flag').addClass('ignore');
}
/*function service_period(dt1,dt2){
dt1 = new Date(dt1);
dt2 = new Date(dt2);
var diff_month =(dt2.getTime() - dt1.getTime()) / 1000;
diff_month /= (60 * 60 * 24 * 7 * 4);
rslt_month = Math.abs(Math.round(diff_month));
return rslt_month;
}*/
/*function esi_eligibility_hide_show(esi_eligibility){
if(parseInt(esi_eligibility) === 1){
$("#esi_location,#esi_number").parent().show();
$("#esi_location,#esi_number").removeClass('ignore');
}else
if(parseInt(esi_eligibility) === 2){
$("#esi_location,#esi_number").val('');
$("#esi_location,#esi_number").parent().hide();
$("#esi_location,#esi_number").addClass('ignore');
}
select_option();
}*/
function pf_eligibility_hide_show(pf_eligibility){
if(parseInt(pf_eligibility) === 1){
$("#pf_account_number,#uan_number").parent().show();
$("#pf_account_number,#uan_number").removeClass('ignore');
}else
if(parseInt(pf_eligibility) === 2){
$("#pf_account_number,#uan_number").val('');
$("#pf_account_number,#uan_number").parent().hide();
$("#pf_account_number,#uan_number").addClass('ignore');
}
}
function get_position(department){
var designation = $("#designation").val();
var send_url = '<?php echo site_url("$controller_name/get_position"); ?>';
if(department){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {department:department,designation:designation};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
$('#designation').html(data);
}
});
}
}
//project id fetch based on wbs element
function project_id_fetch(wbs_element){
var send_url = '<?php echo site_url("$controller_name/project_id_fetch"); ?>';
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {wbs_element:wbs_element};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
$("#project_id").val(rslt.project_id);
select_option();
}
});
}
//wbs related pay structure position depenedent list
function wbs_pay_struct(wbs_element){
$('#position').siblings('.tooltiptext').text('');
var send_url = '<?php echo site_url("$controller_name/wbs_pay_struct"); ?>';
var position = $('#position').val();
if(wbs_element){
$("#select2-position-container").html("<i class='fa fa-spinner fa-spin'></i> Loading...");
$('#select2-position-container').attr('disabled','disabled');
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {wbs_element:wbs_element};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
$('#select2-position-container').attr('disabled',false);
$('#position').html(data);
select_option();
}
});
}
}
//ONLOAD POSITION NAME WITH GROSS FETCH
function position_gross(wbs_element,position){
var send_url = '<?php echo site_url("$controller_name/position_gross"); ?>';
if(wbs_element){
$("#select2-position-container").html("<i class='fa fa-spinner fa-spin'></i> Loading...");
$('#select2-position-container').attr('disabled','disabled');
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {wbs_element:wbs_element,position:position};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
$('#select2-position-container').attr('disabled',false);
$('#position').html(data);
$('#position').val(position).trigger('change');
select_option();
emp_pay_struct_details(position);
}
});
}
}
//FETCH WBS RELATED PROJECT IN ORG TAB
function project_pay_struct(personal_code,wbs_element){
$('#project_id').siblings('.tooltiptext').text('');
var send_url = '<?php echo site_url("$controller_name/project_pay_struct"); ?>';
if(personal_code && wbs_element){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {personal_code:personal_code,wbs_element:wbs_element};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
var project = rslt.rslt_data[0]['wbs_project_id'];
$('#project_id').val(project);
select_option();
}
}
});
}
}
//GENDER WISE HIDE AND SHOW AND GENDER TITLE UPDATE
function gender_wise_hide(gender){
if(gender === "1"){
//$("#husband_name").parent().hide(); // As discussed with porul 21jan2023
//gender wise gender title update
$("#title_code").val(1);
}else
if(gender === "2"){
//$("#husband_name").parent().show();
$("#father_name").parent().show();
//gender wise gender title update
$("#title_code").val(4);
}
}
//BANK DETAILS TAB HIDE AND SHOW
function bank_details_hide_show(bank_key){
if(bank_key === "9200"){
$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').removeAttr('required');
$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').addClass('ignore');
$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').parent().hide();
}else{
$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').prop('required', true);
$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').removeClass('ignore');
$('#bank_name,#bank_account_number,#ifsc_code_hidden_329').parent().show();
}
}
//FUNCTION FOR FETCH A PERSONAL AREA TO EMPLOYEE LOCATION INPUT
function emp_location_fetch(personal_code){
var send_url = '<?php echo site_url("$controller_name/emp_location_fetch"); ?>';
if(personal_code){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {personal_code:personal_code};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
$('#emp_location').val(data);
}
});
}
}
//FUNCTION FOR FETCH A PERSONAL AREA BASED AREA ACCESS FETCH
function area_control_fetch(personal_code,area_access){
if(!area_access){
$("#area_access").val(personal_code);
select_option();
}
}
//EMPLOYEE PAY STYRUCTURE DETAILS GET 20JAN23
function emp_pay_struct_details(position){
let role = $("#role").val();
let personal_code = $("#personal_code").val();
let wbs_element = $("#wbs_element").val();
// let position = $("#position").val();
let activity_no = $("#activity_no").val();
let send_url = '<?php echo site_url("$controller_name/emp_pay_struct_details"); ?>';
//AJAX PROCESS
if(personal_code && wbs_element && position && activity_no){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {role:role,personal_code:personal_code,wbs_element:wbs_element,position:position,activity_no:activity_no};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType: 'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
$('#pay_structure_details').append(rslt.dom_data);
}
}
});
}
}
//dr code for tab wise control checking
function input_req_tab_control(parent_this,input_require_arr,input_empty_arr,relateTab_event,currentTab_event){
var label_class = $("label[for='"+parent_this.id+"']").attr("class");
if(label_class === "control-label upd_required "){
input_require_arr.push(label_class);
if($(parent_this).val() === ""){
input_empty_arr.push(label_class);
}
tab_wise_control(input_require_arr,input_empty_arr,relateTab_event,currentTab_event);
}
}
function tab_wise_control(input_require_arr,input_empty_arr,relateTab_event,currentTab_event){
let input_require_len = input_require_arr.length;
let input_empty_len = input_empty_arr.length;
if(input_require_len !== input_empty_len && input_empty_len !== 0){
$(relateTab_event).parent().attr('class','active');
$(currentTab_event).parent().attr('class','');
$($(relateTab_event).attr("href")).attr('class','tab-pane fade active in');
$($(currentTab_event).attr("href")).attr('class','tab-pane fade');
// var tab_name = $(relateTab_event).text();
// toastr.error("Please fill all Mandatory Fields in "+tab_name+" Tab");
}else{
$(currentTab_event).parent().attr('class','active');
$(relateTab_event).parent().attr('class','');
$($(currentTab_event).attr("href")).attr('class','tab-pane fade active in');
$($(relateTab_event).attr("href")).attr('class','tab-pane fade');
}
}
//FUNCTION FOR AUTOCOMPLETE BOX CLEAR
function clear_autocomplete(hidden_id,label_id){
$.confirm({
content: 'Are you sure you want to Clear?',
escapeKey: 'Yes',
onOpenBefore: function () {
},
buttons: {
Yes: function(){
$('#'+hidden_id).val('');
$('#'+label_id).val('');
$('#'+hidden_id).prop("readonly", false);
},
No: function(){
select_option();
}
}
});
}
//VALIDATION PROCESS START DURING USER ENTER !
$.validator.setDefaults({ignore:[]});
$.validator.addMethod("alphatext", function(value, element) { //EMP NAME
return /^[A-Za-z\s]+$/.test(value);
}, "Please enter text only.");
$.validator.addMethod("mobile", function(value, element) { //MOBILE NUMBER
return /^[6-9](?!.*(\d)\1{4})\d{9}$/.test(value);
}, "Please enter valid number.");
$('#date_of_birth').on("dp.hide",function (e) { //DOB
prime_id = '<?php echo $form_view->$prime_id; ?>';
var dob = $('#date_of_birth').val();
var doj = $('#date_of_joining').val();
date_diff_cal(prime_id,doj,dob);
});
$('#date_of_joining').on("dp.hide",function (e) { // DOJ
prime_id = '<?php echo $form_view->$prime_id; ?>';
var dob = $('#date_of_birth').val();
var doj = $('#date_of_joining').val();
date_diff_cal(prime_id,doj,dob);
});
function gen_relation(gender){ //GENDER
if(gender === "1"){
$("#husband_name").prop("readonly", true);
}else if(gender === "2"){
$("#husband_name").prop("readonly", false);
}
}
//CALCULATE DOB & DOJ DIFF VALIDATION
function date_diff_cal(prime_id,doj,dob){
var min_age = '<?php echo $comp_info->minimum_age; ?>';
var max_age = '<?php echo $comp_info->maximum_age; ?>';
if(doj.length !=0 && dob.length !=0){
var doj_date = moment(doj, 'DD-MM-YYYY').format('YYYY-MM-DD');
var dob_date = moment(dob, 'DD-MM-YYYY').format('YYYY-MM-DD');
var from = moment(dob_date, 'YYYY-MM-DD');
var to = moment(doj_date, 'YYYY-MM-DD');
/* using diff */
var duration = to.diff(from, 'days');
var years = parseInt((duration+1)/365);
if(min_age > years){
toastr.error(" Age Restriction - Must be Above "+min_age+" Years");
if(!prime_id){
$('#date_of_birth').val('');
}
}else
if(max_age < years){
toastr.error("Age Restriction - Must be Below "+max_age+" years");
if(!prime_id){
$('#date_of_birth').val('');
}
}
}
}
</script>
<style>
.textcolor{
color: blue;
}
select[readonly].select2 + .select2-container {
pointer-events: none;
touch-action: none;
}
input[readonly] {
pointer-events: none;
touch-action: none;
}
#panel, #flip {
display: none;
/* text-align: center; */
}
#flip {
text-align: center;
}
.tab-content{
height: 360px;
overflow-y: scroll !important;
}
.modal{
overflow-y: hidden !important;
}
.thead-dark {
position: sticky;
top: 0;
z-index: 1;
}
#ear_div,#ded_div {
height: 315px;
overflow: auto;
}
.clear_btn:hover{
color:orange;
}
</style>