File: /home/cafsindia/hrms_allyindian_com/application_bk/views/increment_approval/form.php
<?php
$logged_user_role = $this->session->userdata('logged_user_role');
$logged_emp_code = $this->session->userdata('logged_emp_code');
$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'];
$count = 0;
$date_exist = false;
$date_time_exist = false;
$drop_exist = false;
$view_count = 0;
$view_content = "";
$document_load_script = "";
$validation_rule = "";
$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;
$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;
$date_type = $setting->date_type;
$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;
$date_type = (int)$setting->date_type;
$edit_read = (int)$setting->edit_read;
$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;
$read = '';
if(((int)$edit_read === 1) && ((int)$form_view->$prime_id)){
//if($setting->$label_id){
$read = 'readonly';
//}
}
$required = "";
if((int)$mandatory_field === 1){
$required = "required";
}
if($form_view->$label_id){
$input_value = $form_view->$label_id;
}else{
$input_value = $default_value;
}
if($prime_form_view_id === $input_for){
/*=================== FORM INPUT PROCESS - START ===================*/
$form_label = form_label($label_name, $label_id, array('class' => "control-label $required"));
$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"));
$input_box .= "<div class='form-group'>$form_label $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"));
$input_box .= "<div class='form-group'>$form_label $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"));
$input_box .= "<div class='form-group'>$form_label $form_input</div>";
}else
//DATE
if((int)$field_type === 4){
$date_exist = true;
$date = "";
if($input_value){
if((int)$date_type === 1){
$date = date('d-m-Y',strtotime($input_value));
if($date === "01-01-1970" || $date ==="30-11--0001"){
$date = "";
}
}else{
$date = $input_value;
}
}
if((int)$date_type === 1){
$datepicker = "datepicker";
}else
if((int)$date_type === 2){
$datepicker = "datepicker_month";
}else
if((int)$date_type === 3){
$datepicker = "datepicker_year";
}
$form_input = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>$date,"placeholder"=>$label_name, $read=>true, "class"=>"form-control input-sm $datepicker"));
$input_box .= "<div class='form-group'>$form_label $form_input</div>";
}else
//PICKLIST
if((int)$field_type === 5){
$drop_exist = true;
if($label_id === 'employees'){
$employee_code = $input_value;
}else
if($label_id === 'manager'){
if($form_view->$label_id){
$input_value = $form_view->$label_id;
}else{
$input_value = $logged_emp_code;
}
}else
if($label_id === "second_approval"){
$second_approval_emp_code = $form_view->second_level_approval;
if($second_approval_emp_code !== $logged_emp_code){
$drop_down_array['readonly'] = 'readonly';
}
}
$drop_down_array = array("name" => $label_id,"id" => $label_id,"class" =>'form-control input-sm select2');
if($read){
$drop_down_array['readonly'] = 'readonly';
}
$form_dropdown = form_dropdown($drop_down_array,$all_pick[$label_id]['array_list'] ,$input_value);
$input_box .= "<div class='form-group'>$form_label $form_dropdown</div>";
}else
//CHECKBOX
if((int)$field_type === 6){
$checkbox_array = array("name" => $label_id,"id" => $label_id, "value"=> 1, "checked" => ($input_value) ? 1 : 0);
if($read){
$checkbox_array['disabled'] = 'true';
}
$form_checkbox = form_checkbox($checkbox_array);
$input_box .= "<div class='form-group'> <label class='checkbox-inline'> $form_checkbox $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);
$drop_down_array = array("name" => $multi_name,"multiple id" => $label_id,"class" =>'form-control input-sm select2');
if($read){
$drop_down_array['readonly'] = 'readonly';
}
$form_dropdown = form_dropdown($drop_down_array,$all_pick[$label_id]['array_list'] ,$multi_select);
$input_box .= "<div class='form-group'> $form_label $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 <textarea name='$label_id' id='$label_id' class='form-control' rows='4' placeholder='$label_name' $read = true>$value</textarea></div>";
}else
//AUTOCOMPLETE
if((int)$field_type === 9){
$hidden_id = $label_id."_hidden_".$prime_form_id;
$hidden_value = $all_pick[$label_id]['array_list'][$input_value];
if($depen_pick_list === 1){
$hidden_value = $auto_pick[$label_id][$input_value];
}
$autocomplete_array = array("name"=>$hidden_id, "id"=>$hidden_id,"value"=>$hidden_value,"placeholder"=>"Search ".$label_name, "class"=>"form-control input-sm");
if($read){
$autocomplete_array['readonly'] = 'readonly';
}
$form_input = form_input($autocomplete_array);
$hidden_input = form_input( array("name"=>$label_id, "id"=>$label_id,"value"=>$input_value,"type"=>"hidden"));
$input_box .= "<div class='form-group'>$form_label $hidden_input $form_input</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];
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></a>";
}
$file_ext_type = explode(".", $value);
$file_ext_type = end($file_ext_type);
$view_btn = "<div onclick=view_upload_file('".$proof."','".$file_ext_type."');>$file_name<div>";
}
$row_send_data .= "$upload_old:$('#$upload_old').val(),";
$input_box .= "<div class='form-group'>
$form_label
<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>$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 $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 $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 $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 $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){ //DATE
$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 === 5){
$get_depend = json_encode($get_depend_prime_id);
if (in_array($label_id, $depend_label_id ?? [])) {
$change_label_id = $label_id;
}
if($depen_pick_list === 1){
$new_span = $label_id.'_span';
$dep_url = site_url("$controller_name/dependent_data_set");
//DR CODE FOR EDIT BUTTON CLICK AFTER DEPENDENT DROPDOWN FETCH(UPDATE)
$document_load_script .= "var depen_select_val = $('#$depen_pick_input').val();
if(depen_select_val){
$.ajax({
url: '$dep_url',
type: 'post',
data: {prime_module_id:'$prime_module_id',depen_select:depen_select_val,depen_pick_input:'$depen_pick_input',table_column1:'$table_column1',table_column2:'$table_column2',label_id:'$label_id',pick_table:'$pick_table',pick_list:'$pick_list',pick_display_val:'$pick_display_val'},
beforeSend: function () {
$('#$label_id').next('span').attr('id', '$new_span');
$('#$new_span').html('<span style=\"color:#CC3366\";><i class=\"fa fa-spinner fa-spin fa-2x fa-fw\"></i><br/>Loading...</span>');
},
success: function(result_data){
$('#$new_span').empty();
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
//dropdownParent: $('.modal-dialog')
});
var select_data = $('#$label_id').val();
$('#$label_id').html(result_data);
$('#$label_id').val(select_data);
}
});
}\n";
//DR CODE FOR DEPENDENT ON CHANGE CONDITION
$document_load_script .= "$('#$depen_pick_input').change(function(e) {
var depen_select_val = $('#$depen_pick_input').val();
$.ajax({
url: '$dep_url',
type: 'post',
data: {prime_module_id:'$prime_module_id',depen_select:depen_select_val,depen_pick_input:'$depen_pick_input',table_column1:'$table_column1',table_column2:'$table_column2',label_id:'$label_id',pick_table:'$pick_table',pick_list:'$pick_list',pick_display_val:'$pick_display_val'},
beforeSend: function () {
$('#$label_id').next('span').attr('id', '$new_span');
$('#$new_span').html('<span style=\"color:#CC3366\";><i class=\"fa fa-spinner fa-spin fa-2x fa-fw\"></i><br/>Loading...</span>');
},
success: function(result_data){
// $('#$new_span').empty();
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
//dropdownParent: $('.modal-dialog')
});
var get_depend = JSON.parse('$get_depend');
$.each(get_depend, function(key, value) {
var label_id = '$label_id';
var depand_val = value['dependent_pick_input'];
var depand_prime= value['prime_form_id'];
if((depand_val) && ('$depen_pick_input' !== key)){
var depand_prime_id = key+'_hidden_'+depand_prime;
var depen_key_val = '';
if('$depen_pick_input' === depand_val){
$('#'+key).val('');
$('#'+depand_prime_id).val('');
var depen_key_val = key;
}
$.each(get_depend, function(keys, values) {
var depand_vals = values['dependent_pick_input'];
if((depen_key_val === depand_vals) && depen_key_val !== ''){
var depand_labels = get_depend[keys]['prime_form_id'];
var depand_keys = keys+'_hidden_'+depand_labels;
$('#'+depand_keys).val('');
$('#'+keys).val('');
}
});
// select_option();
}
});
$('#$label_id').val('');
$('#$label_id').html(result_data);
$(function(){
setTimeout(function() {
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
}, 0);
});
}
});
});\n";
if($change_label_id){
$document_load_script .= "$('#$change_label_id').change(function(e) {
var get_depend = JSON.parse('$get_depend');
$.each(get_depend, function(key, value) {
var label_id = '$label_id';
var depand_val = value['dependent_pick_input'];
var depand_prime= value['prime_form_id'];
if((depand_val) && ('$label_id' !== key)){
var depand_prime_id = key+'_hidden_'+depand_prime;
var depen_key_val = '';
if('$label_id' === depand_val){
$('#'+key).val('');
$('#'+depand_prime_id).val('');
var depen_key_val = key;
}
$.each(get_depend, function(keys, values) {
var depand_vals = values['dependent_pick_input'];
if((depen_key_val === depand_vals) && depen_key_val !== ''){
var depand_labels = get_depend[keys]['prime_form_id'];
var depand_keys = keys+'_hidden_'+depand_labels;
$('#'+depand_keys).val('');
$('#'+keys).val('');
}
});
// select_option();
$(function(){
setTimeout(function() {
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
}, 0);
});
}
});
});\n";
}
}else
if($depen_pick_list === 2){
$depen_pick_inputs = '#'.$label_id;
$document_load_script .= "$(document).on('change', '$depen_pick_inputs',function(){
var get_depend = JSON.parse('$get_depend');
$.each(get_depend, function(key, value) {
var label_id = '$label_id';
var depand_val = value['dependent_pick_input'];
var depand_prime= value['prime_form_id'];
if((depand_val) && ('$depen_pick_input' !== key)){
var depand_prime_id = key+'_hidden_'+depand_prime;
var depen_key_val = '';
if('$label_id' === depand_val){
$('#'+key).val('');
$('#'+depand_prime_id).val('');
var depen_key_val = key;
}
$.each(get_depend, function(keys, values) {
var depand_vals = values['dependent_pick_input'];
if((depen_key_val === depand_vals) && depen_key_val !== ''){
var depand_labels = get_depend[keys]['prime_form_id'];
var depand_keys = keys+'_hidden_'+depand_labels;
$('#'+depand_keys).val('');
$('#'+keys).val('');
}
});
// select_option();
$(function(){
setTimeout(function() {
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
}, 0);
});
}
});
});\n";
if($change_label_id){
$document_load_script .= "$('#$change_label_id').change(function(e) {
var get_depend = JSON.parse('$get_depend');
$.each(get_depend, function(key, value) {
var label_id = '$label_id';
var depand_val = value['dependent_pick_input'];
var depand_prime= value['prime_form_id'];
if((depand_val) && ('$label_id' !== key)){
var depand_prime_id = key+'_hidden_'+depand_prime;
var depen_key_val = '';
if('$label_id' === depand_val){
$('#'+key).val('');
$('#'+depand_prime_id).val('');
var depen_key_val = key;
}
$.each(get_depend, function(keys, values) {
var depand_vals = values['dependent_pick_input'];
if((depen_key_val === depand_vals) && depen_key_val !== ''){
var depand_labels = get_depend[keys]['prime_form_id'];
var depand_keys = keys+'_hidden_'+depand_labels;
$('#'+depand_keys).val('');
$('#'+keys).val('');
}
});
// select_option();
$(function(){
setTimeout(function() {
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
}, 0);
});
}
});
});\n";
}
}
}
//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){
$hidden_id = $label_id."_hidden_".$prime_form_id;
$auto_id = "#$label_id";
$hidden_id = $label_id."_hidden_".$prime_form_id;
$auto_id = "#$label_id";
$auto_url = site_url("$controller_name/suggest");
$document_load_script .= "$('#$hidden_id').autocomplete({
minChars:2,
autoFocus: true,
delay:10,
appendTo: '.modal-content',
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
};
}
}));
}
});
},
select: function(e, ui) {
e.preventDefault();
$('$auto_id').val(ui.item.value);
$('#$hidden_id').val(ui.item.display_name);
},
change: function(event, ui) {
if (ui.item === null || ui.item === '' || ui.item === 'null') {
$('$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 = site_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'>
@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-primary btn-sm row_btn' id='$submit_btn_id' $style>Add/Update</a>
<a class='btn btn-danger btn-sm row_btn' id='$cancel_btn_id' $style>Cancel</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);
}
$('#'+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);
$('#'+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 .= "$('#$submit_btn_id').click(function(){
$row_check_input
});\n
$('#$cancel_btn_id').click(function(){
$row_clear_data
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
});\n
$('#$table_id').DataTable();\n";
}
}
$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"));
//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;'>
$prime_inupt
$view_content
$upload_div
</fieldset>
$form_close";
$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();";
}
}
?>
<style>.modal-content{overflow: auto;max-height: 95vh;}</style>
<script type="text/javascript">
$(document).ready(function(){
// VIEW INFO PROCESS QUERY ERROR THROWING
var module_sts = <?php echo json_encode($module_sts); ?>;
default_hide();
<?php echo $user_read_only; ?>
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;?>";
if(date_exist === "1"){
$(function () {
$(".datepicker").datetimepicker({
format: 'DD-MM-YYYY',
//debug: true
});
$(".datepicker_month").datetimepicker({
format: 'MM-YYYY',
//debug: true
});
$(".datepicker_year").datetimepicker({
format: 'YYYY',
//debug: true
});
});
}
$('.only_time').datetimepicker({
format: 'HH:mm',
});
var view_id = "<?php echo $form_view->$prime_id; ?>";
var logged_emp_code = "<?php echo $logged_emp_code;?>";
var first_approval_emp_code = "<?php echo $first_approval_emp_code;?>";
<?php echo $user_read_only; ?>
if(parseInt(view_id) > 0){
//var category = $('#category').val();
var approval_type = $('#approval_type').val();
var apply_month = $('#apply_month').val();
var employee_code = "<?php echo $employee_code;?>";
var first_approval = $('#first_approval').val();
var second_approval = $('#second_approval').val();
var third_approval = $('#third_approval').val();
var hr_status = $("#hr_status").val();
rejected_hide_show(first_approval,second_approval,third_approval,hr_status);
increment_approval_show();
//get_employees(category,employee_code);
promotion_hide_show(approval_type);
if(parseInt(approval_type) !== 3){
get_increment(apply_month,employee_code,view_id);
}
$('#approval_type').attr('readonly','readonly');
$('#branch_hr').attr('readonly','readonly');
}else{
//For Insert first level should be default approved
$('#first_approval').val(2);
$('#first_approval').attr('readonly','readonly');
//first_level_reporting(logged_emp_code);
}
if(date_exist === "1"){
$(function () {
$(".datepicker").datetimepicker({
format: 'DD-MM-YYYY',
//debug: true
});
});
}
if(date_time_exist === "1"){
$(function () {
$(".datepicker_time").datetimepicker({
format: 'DD-MM-YYYY HH:mm:ss',
//debug: true
});
});
}
var drop_exist = "<?php echo $drop_exist;?>";
if(drop_exist === "1"){
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
}
/*
$('input').keypress(function(e){
e = e || event;
var s = String.fromCharCode(e.charCode);
if(s.match(/[A-Z]/)){
toastr.clear();
toastr.error('Capital letters disabled');
return false;
}
});
*/
$('textarea').on('keyup keypress', function(e) {
if(e.keyCode === 13) {
e.stopPropagation();
}else
if(e.shiftKey){
e.stopPropagation();
}
});
$(".number").bind('keyup', function(e) {
this.value = this.value.replace(/[^0-9]/g,'');
});
$(".decimal_no").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;
}
});
$.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.");
$(form_id).submit(function(event){ event.preventDefault(); }).validate({
ignore: ".ignore",
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; ?>
},
submitHandler: function (form){
$("#save_continue").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#save_continue').attr('disabled','disabled');
var view_id = $('#prime_increment_approval_id').val();
var first_approval = $('#first_approval').val();
var approval_type = $('#approval_type').val();
if(parseInt(view_id) > 0){
$("#submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#submit').attr('disabled','disabled');
var total = 0;
$("input[name='diff_value[]']").each(function (index, element) {
total = total + parseFloat($(element).val());
});
if(parseInt(total) === 0 && parseInt(approval_type) !== 3){
toastr.warning("You Made no changes in Increment");
$('#submit').attr('disabled',false);
$("#submit").html("Submit");
return false;
}
if(parseInt(first_approval) === 1){
toastr.warning("First Level Should not be Pending");
$('#submit').attr('disabled',false);
$("#submit").html("Submit");
return false;
}
}
//Encrypted
let formData = new FormData(form);
// Convert FormData to JSON object
let jsonData = Object.fromEntries(formData.entries());
var key = '<?php echo $encKey; ?>';
<?php echo $json_multi; ?>;
var encData = encrypt(key,jsonData);
$("#submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#submit').attr('disabled','disabled');
$.ajax({
url : $(form).attr('action'),
type : 'POST',
contentType : 'text/plain',
data : encData,
success: function (response){
if(parseInt(view_id) > 0){
$('#submit').attr('disabled',false);
$("#submit").html("Submit");
}else{
$('#save_continue').attr('disabled',false);
$("#save_continue").html("Submit");
}
if(response.success){
$(prime_id).val(response.insert_id);
if(parseInt(approval_type) === 3 || parseInt(view_id) > 0){
$(prime_id).val(response.insert_id);
//table_support.handle_submit('<?php echo site_url($controller_name); ?>', response);
//table_support.refresh();
$('.row_btn').show();
$('.modal').modal('hide');
toastr.success(response.message);
//$('#table').DataTable.reload();
$('#table').DataTable().ajax.reload();
}else{
$('#increment_value').show();
$('#increment_value').html(response.table_data);
$('#save_continue').attr("id","submit");
select_call();
toastr.success(response.message);
}
$('#submit').attr('disabled',false);
$("#submit").html("Submit");
/*var first_approval = $('#first_approval').val(2);
var first_approval_emp_code = $('#first_level_approval').val();
var logged_emp_code = "<?php echo $logged_emp_code;?>";
var approve_type = $('#approve_type').val();
if(first_approval_emp_code === logged_emp_code){
if(first_approval === "2"){
first_approve_status(first_approval);
}
}else{
approve_status(approve_type)
}*/
}else{
toastr.error(response.message);
}
},
dataType: 'json'
});
// select_call();
}
});
/* LOAD SCRIPT AND CONDITION LOAD */
<?php
echo "$document_load_script";
foreach($condition_list as $list){
echo $list;
}
?>
/* LOAD SCRIPT AND CONDITION LOAD */
$("#apply_month").datetimepicker({
format: 'MM-YYYY'
});
/*$("#category").on('change', function(e){
var category = $("#category").val();
get_employees(category);
});*/
$("#employees").on('change', function(e){
var employees = $("#employees").val();
get_designation(employees,logged_emp_code);
});
$("#hr_status").on('change', function(e){
var hr_status = $("#hr_status").val();
hr_status_hide_show(hr_status);
});
$("#first_approval,#second_approval,#third_approval,#hr_status").on('change', function(e){
var first_approval = $('#first_approval').val();
var second_approval = $('#second_approval').val();
var third_approval = $('#third_approval').val();
var hr_status = $("#hr_status").val();
rejected_hide_show(first_approval,second_approval,third_approval,hr_status);
});
$("#process_by").on('change', function(e){
$('#before').val('');
$('#after').val('');
var employee = $('#employees').val();
var effective_date = $('#effective_date').val();
var category = $('#category').val();
var process_by = $('#process_by').val();
var apply_month = $('#apply_month').val();
var approval_type = $('#approval_type').val();
if(employee && approval_type != '3'){
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/get_lop_days"); ?>',
data: {employee:employee,effective_date:effective_date,category:category,process_by:process_by,apply_month:apply_month},
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#total_lop').val(rslt.lop_days);
$('#after').val(rslt.lop_days);
}else{
toastr.error(rslt.message);
$('#effective_date').val('');
$("#process_by").val('');
$('#employees').val(null).trigger('change');
}
},
});
}else{
toastr.warning('Please Select the Employee');
$("#process_by").val('');
}
});
$("#before,#after").on('change', function(e){
var before = $('#before').val();
var after = $('#after').val();
var total_lop = $('#total_lop').val();
var tot = parseFloat(before) + parseFloat(after);
if((parseFloat(tot) > parseFloat(total_lop)) || (parseFloat(tot) < parseFloat(total_lop))){
toastr.warning('Days Must be Equal to Total Days');
$('#before').val('');
$('#after').val('');
}
});
$("#approval_type").on('change', function(e){
var approval_type = $('#approval_type').val();
if(parseInt(approval_type) === 1){
hike_fetch_category(approval_type);
}else{
$('#category').find("option[value='']").prop("selected", "selected");
select_call();
}
promotion_hide_show(approval_type);
});
$('#apply_month').on("dp.hide",function (e){
var category = $('#category').val();
var apply_month = $('#apply_month').val();
var employee = $('#employees').val();
var from = "apply_month";
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {apply_month:apply_month,from:from,category:category,employee:employee};
var encData = encrypt(encKey,data);
if(apply_month){
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/check_payroll_process"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
toastr.warning(rslt.message);
$('#apply_month').val('');
}
},
});
}
});
$('#effective_date').on("dp.hide",function(e){
var effective_date = $('#effective_date').val();
var category = $('#category').val();
var apply_month = $('#apply_month').val();
var employee = $('#employees').val();
var from = "effective_date";
if(!apply_month){
toastr.error("First Choose Apply Month??");
$('#effective_date').val('');
}
if(effective_date && apply_month){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {effective_date:effective_date,from:from,category:category,employee:employee,apply_month:apply_month};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name."/check_payroll_process"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
toastr.warning(rslt.message);
$('#effective_date').val('');
}else{
if(rslt.readonly){
$('#before').prop('readonly', true);
}else{
$('#before').prop('readonly', false);
}
}
},
});
}
});
//DR HIDE AND SHOW CODE START
var approve_type = $('#approve_type').val();
if(approve_type){
approve_status(approve_type);
}
$('#first_approval,#second_approval,#third_approval').on('change', function(e) {
var approve_type = $('#approve_type').val();
if(approve_type){
approve_status(approve_type);
}
});
});
// FILE UPLOAD REMOVE
function remove_file(prime_id,is_defult,input_name){
var prime_id_val = $("#"+prime_id).val();
var send_url = '<?php echo site_url("$controller_name/remove_file"); ?>';
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,{prime_id:prime_id,prime_id_val:prime_id_val,is_defult:is_defult,input_name:input_name});
$.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 mandatory_field = parseInt(value.mandatory_field);
var access_delete = "<?php echo $access_deletess;?>";
var result = value.input_value.split("/");
var file_name = result[2];
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;?>";
var remove_btn = "";
if(parseInt(access_delete) === 1){
if(mandatory_field !== 1){
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></a>";
}
}
var view_btn = "<a href='"+proof+"' target='_blank' style='cursor: pointer;'>"+file_name+"</a>";
var input_box = "<input type='hidden' id="+key+" name="+key+" value="+file_name+"><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>"+remove_btn+"</td><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){
var send_url = '<?php echo site_url("$controller_name/rowset_remove_file"); ?>';
if(confirm('Are sure delete the file?')){
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,{row_id:row_id,table_name_set:table_name_set,input_name:input_name,view_id:view_id,primes_id:primes_id});
$.ajax({
type: "POST",
url: send_url,
data:encData,
contentType:'text/plain',
success: function(data) {
var rslt = JSON.parse(data);
console.log(rslt);
$("#"+input_name).val("");
$("#table_"+input_name).attr("style", "display:none");
$('#'+rslt.div_id).html(rslt.row_set_view);
$('#'+rslt.table_id).DataTable();
}
});
}
}
/*function get_employees(category,employee_code){
if(category){
$.ajax({
type: "POST",
url: '<?php //echo site_url($controller_name . "/get_employee_list"); ?>',
data: {category:category},
beforeSend: function(){
$('#employees').html('<option> Loading... </option>');
},
success: function(data){
$('#employees').html(data);
if(employee_code){
$('#employees').val(employee_code);
}
},
});
}
}*/
function update_table(old_value,category,increment_id,value,employee_code,apply_month,column_name,percentage){
var hr_status = $("#hr_status").val();
var prime_id = $("#prime_increment_approval_id").val();
var new_value = $('#'+column_name).val();
new_value = new_value.replace(/[^0-9_.]/g,'');
var diff_value = new_value - value;
var percentage_value = ((parseInt(diff_value)/parseInt(value)) * 100).toFixed(2);
// console.log(percentage_value);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/update_table"); ?>',
data: {prime_id:prime_id,increment_id:increment_id,new_value:new_value,diff_value:diff_value,employee_code:employee_code,apply_month:apply_month,category:category,percentage:percentage_value,column_name:column_name,old_value:old_value},
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#increment_value').html(rslt.table_data);
//$('#inc_table').DataTable();
select_call();
}
},
});
}
function percentage_calc(old_value,value,category,increment_id,current_val,employee_code,apply_month,column_name){
var prime_id = $("#prime_increment_approval_id").val();
if(parseInt(value) > 100){
$('#percentage_'+increment_id).val(100);
value = 100;
}
var diff_value = (current_val * value) / 100;
var new_value = parseInt(current_val) + diff_value;
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/update_table"); ?>',
data: {prime_id:prime_id,increment_id:increment_id,new_value:new_value,diff_value:diff_value,employee_code:employee_code,apply_month:apply_month,category:category,percentage:value,column_name:column_name,old_value:old_value},
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#increment_value').html(rslt.table_data);
//$('#inc_table').DataTable();
select_call();
}
},
});
}
function save_increment(category,prime_id,employee_code,apply_on,effective_date,after_day,arrear_basic,arrear_gross,process_by,increment_approval_id){
var first_approval = $('#first_approval').val();
var second_approval = $('#second_approval').val();
var third_approval = $('#third_approval').val();
var hr_status = $("#hr_status").val();
var process_by = $('#process_by').val();
if(process_by === ""){
toastr.warning("Please Select Process By Increment");
return false;
}
var category = $('#category').val();
// if(category === ""){
// toastr.warning("Please Select Category");
// return false;
// }
$("#save_increment").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#save_increment').attr('disabled','disabled');
var column_name = $("input[name='column_name[]']")
.map(function(){return $(this).val();}).get();
var diff_value = $("input[name='diff_value[]']")
.map(function(){return $(this).val();}).get();
var new_value = $("input[name='new_value[]']")
.map(function(){return $(this).val();}).get();
var current_value = $("input[name='current_value[]']")
.map(function(){return $(this).val();}).get();
var arr_for = {};
var key = "";
var val = "";
$('.increment_cal').each(function(){
var key = $(this).attr('id');
var val = $(this).val();
arr_for[key] = val;
});
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {prime_id:prime_id,new_value:new_value,diff_value:diff_value,employee_code:employee_code,apply_on:apply_on,column_name:column_name,effective_date:effective_date,after_day:after_day,arrear_gross:arrear_gross,arrear_basic:arrear_basic,category:category,current_value:current_value,arr_for:arr_for,process_by:process_by,increment_approval_id:increment_approval_id,first_approval:first_approval,second_approval:second_approval,third_approval:third_approval,hr_status:hr_status};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name."/save_increment"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$("#submit").trigger("click");
toastr.success(rslt.message);
}else{
toastr.error(rslt.message);
}
$('#save_increment').attr('disabled',false);
$("#save_increment").html("Process Increment");
},
});
}
function get_increment(apply_month,employee_code,view_id){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {apply_month:apply_month,employee_code:employee_code,view_id:view_id};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/get_increment"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.success){
$('#increment_value').html(rslt.table_data);
// $('input[name="new_value[]"]').prop('readonly', true);
select_call();
}else{
toastr.error(rslt.message);
}
},
});
}
function get_designation(employees,logged_emp_code){
if(employees){
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {employees:employees};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/get_designation_list"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
$('#branch').val(rslt.branch);
$('#designation').val(rslt.designation);
$('#category').val(rslt.category);
$('#first_level_approval').val(rslt.first_level_approval);
$('#second_level_approval').val(rslt.second_level_approval);
$('#third_level_approval').val(rslt.third_level_approval);
$('#approve_type').val(rslt.increment_approve_type);
$('#approval_type').val('');
if(rslt.increment_approve_type){
approve_status(rslt.increment_approve_type);
increment_approval_show();
}
// if(rslt.branch){
// branch_hr_code(rslt.branch);
// }
select_call();
},
});
}
}
function default_hide(){
var user_role = '<?php echo $logged_user_role; ?>';
$('#rejected_reason').parent().hide();
$('#rejected_reason').addClass('ignore');
var first_approval = $('#first_approval').val();
var second_approval = $('#second_approval').val();
var third_approval = $('#third_approval').val();
if(parseInt(first_approval) === 2){
$('#first_approval').attr('readonly', 'readonly');
}
if(parseInt(second_approval) === 2){
$('#second_approval').attr('readonly', 'readonly');
}
if(parseInt(third_approval) === 2){
$('#third_approval').attr('readonly', 'readonly');
}
$('#branch,#designation,#first_level_approval,#second_level_approval,#third_level_approval,#approve_type,#approve_status').attr('readonly', 'readonly');
// $('input[name="new_value[]"]').prop('readonly', true);
$('#process_by,#total_days,#before_increment,#after_increment,#designation,#promoted_designation,#approve_status,#hr_status,#process_by,#total_days,#before_increment,#after_increment,#second_approval,#third_approval').parent().hide();
$('#process_by,#total_days,#before_increment,#after_increment,#designation,#promoted_designation,#approve_status,#hr_status,#process_by,#total_days,#before_increment,#after_increment,#second_approval,#third_approval').addClass('ignore');
}
function hr_status_hide_show(hr_status){
var approval_type = $('#approval_type').val();
if(parseInt(hr_status) === 2 && parseInt(approval_type) !== 3){
$('#save_increment,#process_by').show();
$('#submit').hide();
$('#category').addClass('ignore');
}else{
$('#save_increment,#process_by').hide();
$('#submit').show();
}
}
function rejected_hide_show(first_approval,second_approval,third_approval,hr_status){
if(parseInt(first_approval) === 3 || parseInt(second_approval) === 3 || parseInt(third_approval) === 3 || parseInt(hr_status) === 3){
$('#rejected_reason').parent().show();
$('#rejected_reason').removeClass('ignore');
}else{
$('#rejected_reason').parent().hide();
$('#rejected_reason').addClass('ignore');
}
}
function promotion_hide_show(approval_type){
if(parseInt(approval_type) === 2){
$('#apply_month,#effective_date,#designation,#promoted_designation,#category').parent().show();
$('#apply_month,#effective_date,#designation,#promoted_designation,#category').removeClass('ignore');
}else
if(parseInt(approval_type) === 3){
$('#designation,#promoted_designation,#category').parent().show();
$('#designation,#promoted_designation,#category').removeClass('ignore');
$('#apply_month,#effective_date,#process_by,#total_days,#before_increment,#after_increment').parent().hide();
$('#apply_month,#effective_date,#process_by,#total_days,#before_increment,#after_increment').addClass('ignore');
}else{
$('#designation,#promoted_designation,#category').parent().hide();
$('#designation,#promoted_designation,#category').addClass('ignore');
$('#apply_month,#effective_date').parent().show();
$('#apply_month,#effective_date').removeClass('ignore');
}
}
function hike_fetch_category(approval_type){
var employees = $("#employees").val();
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {employees:employees};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/hike_fetch_category"); ?>',
data:encData,
contentType: 'text/plain',
success: function(data){
var rslt = JSON.parse(data);
var category_id = rslt.category;
$('#category').find("option[value='"+category_id+"']").prop("selected", "selected");
select_call();
},
});
}
//DR COE START
function increment_approval_show(){
// if($('#first_level_approval').val() === ""){
// $('#first_level_approval').parent().hide();
// $('#first_level_approval').addClass('ignore');
// }
// if($('#second_level_approval').val() === ""){
// $('#second_level_approval').parent().hide();
// $('#second_level_approval').addClass('ignore');
// }
// if($('#third_level_approval').val() === ""){
// $('#third_level_approval').parent().hide();
// $('#third_level_approval').addClass('ignore');
// }
}
function approve_status(increment_approve_type){
var first_approval_emp_code = $('#first_level_approval').val();
var second_approval_emp_code = $('#second_level_approval').val();
var third_approval_emp_code = $('#third_level_approval').val();
var first_approval = $('#first_approval').val();
var second_approval = $('#second_approval').val();
var third_approval = $('#third_approval').val();
var approval_type = $('#approval_type').val();
var logged_emp_code = "<?php echo $logged_emp_code;?>";
var logged_user_role = "<?php echo $logged_user_role;?>";
if(parseInt(increment_approve_type) === 1){
if(parseInt(first_approval) === 2){
$('#approve_status,#hr_status').parent().show();
$('#approve_status,#hr_status').removeClass('ignore');
// $('input[name="new_value[]"]').prop('readonly', false);
$('#approve_status').val(2);
if(parseInt(logged_user_role) === 2){
$('#hr_status').removeAttr('readonly', 'readonly');
// $('input[name="new_value[]"]').prop('readonly', false);
if(parseInt(approval_type) !== 3){
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').parent().show();
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').removeClass('ignore');
}else{
$('#hr_status').parent().show();
$('#hr_status').removeClass('ignore');
}
}else{
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').parent().hide();
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').addClass('ignore');
}
}else{
// $('input[name="new_value[]"]').prop('readonly', true);
$('#process_by,#total_days,#before_increment,#after_increment,#approve_status,#hr_status').parent().hide();
$('#process_by,#total_days,#before_increment,#after_increment,#approve_status,#hr_status').addClass('ignore');
$('#approve_status').val(1);
}
}else
if(parseInt(increment_approve_type) === 2){
if(parseInt(first_approval) === 2 && second_approval_emp_code === logged_emp_code){
$('#second_approval').parent().show();
$('#second_approval').removeClass('ignore');
// $('input[name="new_value[]"]').prop('readonly', false);
if(parseInt(second_approval) === 1){
$('#second_approval').removeAttr('readonly', 'readonly');
}
}
if(parseInt(first_approval) === 2 && parseInt(second_approval) === 2){
$('#second_approval,#approve_status,#hr_status').parent().show();
$('#second_approval,#approve_status,#hr_status').removeClass('ignore');
// $('input[name="new_value[]"]').prop('readonly', false);
$('#approve_status').val(2);
if(parseInt(logged_user_role) === 2){
$('#hr_status').removeAttr('readonly', 'readonly');
// $('input[name="new_value[]"]').prop('readonly', false);
if(parseInt(approval_type) !== 3){
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').parent().show();
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').removeClass('ignore');
}else{
$('#hr_status').parent().show();
$('#hr_status').removeClass('ignore');
}
}else{
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').parent().hide();
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').addClass('ignore');
}
}else{
// $('input[name="new_value[]"]').prop('readonly', true);
$('#process_by,#total_days,#before_increment,#after_increment,#approve_status,#hr_status').parent().hide();
$('#process_by,#total_days,#before_increment,#after_increment,#approve_status,#hr_status').addClass('ignore');
$('#approve_status').val(1);
}
}else
if(parseInt(increment_approve_type) === 3){
if(parseInt(first_approval) === 2 && second_approval_emp_code === logged_emp_code){
$('#second_approval').parent().show();
$('#second_approval').removeClass('ignore');
// $('input[name="new_value[]"]').prop('readonly', false);
if(parseInt(second_approval) === 1){
$('#second_approval').removeAttr('readonly', 'readonly');
}
}else
if(parseInt(first_approval) === 2 && parseInt(second_approval) === 2 && third_approval_emp_code === logged_emp_code){
$('#second_approval,#third_approval').parent().show();
$('#second_approval,#third_approval').removeClass('ignore');
// $('input[name="new_value[]"]').prop('readonly', false);
if(parseInt(third_approval) === 1){
$('#third_approval').removeAttr('readonly', 'readonly');
}
}
if(parseInt(first_approval) === 2 && parseInt(second_approval) === 2 && parseInt(third_approval) === 2){
$('#second_approval,#third_approval,#approve_status,#hr_status').parent().show();
$('#second_approval,#third_approval,#approve_status,#hr_status').removeClass('ignore');
// $('input[name="new_value[]"]').prop('readonly', false);
$('#approve_status').val(2);
if(parseInt(logged_user_role) === 2){
$('#hr_status').removeAttr('readonly', 'readonly');
// $('input[name="new_value[]"]').prop('readonly', false);
if(parseInt(approval_type) !== 3){
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').parent().show();
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').removeClass('ignore');
}else{
$('#hr_status').parent().show();
$('#hr_status').removeClass('ignore');
}
}else{
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').parent().hide();
$('#process_by,#total_days,#before_increment,#after_increment,#hr_status').addClass('ignore');
}
}else{
// $('input[name="new_value[]"]').prop('readonly', true);
$('#process_by,#total_days,#before_increment,#after_increment,#approve_status,#hr_status').parent().hide();
$('#process_by,#total_days,#before_increment,#after_increment,#approve_status,#hr_status').addClass('ignore');
$('#approve_status').val(1);
}
}
select_call();
}
function first_level_reporting(logged_emp_code){
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/first_level_reporting"); ?>',
data: {logged_emp_code:logged_emp_code},
// beforeSend: function(){
// $('#employees').html('<option> Loading... </option>');
// },
success: function(data){
$('#employees').html(data);
select_call();
},
});
}
// function branch_hr_code(branch){
// $.ajax({
// type: "POST",
// url: '<?php echo site_url($controller_name . "/branch_hr_code"); ?>',
// data: {branch:branch},
// success: function(data){
// $('#branch_hr').html(data);
// select_call();
// },
// });
// }
//DR CODE END
function select_call(){
setTimeout(function(){
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog')
});
$('.select2-tags').select2({
tags: true,
allowClear: true,
tokenSeparators: [',']
});
});
}, 500);
}
</script>