File: /home/cafsindia/uds.cafsinfotech.in/smart_hrms_dev/application/views/leave_opening/manage.php
<?php
$this->load->view("partial/header");
$access_data = $this->session->userdata('access_data');
$access_add = (int)$access_data[$controller_name]['access_add'];
$access_update = (int)$access_data[$controller_name]['access_update'];
$access_delete = (int)$access_data[$controller_name]['access_delete'];
$access_search = (int)$access_data[$controller_name]['access_search'];
$access_export = (int)$access_data[$controller_name]['access_export'];
$access_import = (int)$access_data[$controller_name]['access_import'];
$page_name = ucwords(str_replace("_"," ",$controller_name));
$prime_id = "prime_".$controller_name."_id";
$search_url = site_url($controller_name ."/search");
$view_url = site_url($controller_name ."/view/");
$import_url = site_url($controller_name ."/import/");
$filter_tr_line = "";
$table_map_list = "";
$input_ids = "";
$date_ids = "";
$load_script = "";
//DR COMMAND CODE FOR WAITING TO ADD A NEW CHANGES
foreach($fliter_list as $fliter){
$label_id = "filter_".$fliter->label_name;
$lable = $fliter->label_name;
$label_name = ucwords($fliter->view_name);
$field_isdefault = (int)$fliter->field_isdefault;
$array_list = $pick_list[$lable]['array_list'];
$field_type = (int)$fliter->field_type;
$prime_form_id = $fliter->prime_form_id;
$dependent_pick_list = (int)$fliter->dependent_pick_list;
if($field_type === 4){
$filter_box = form_input(array("name"=>$label_id, "id"=>$label_id,"placeholder"=>$label_name, "class"=>"form-control input-sm datepicker"));
$filter_tr_line .= "<tr>
<td class='search_td'> $label_name</td>
<td> $filter_box </td>
</tr>";
}else
if(((int)$field_type === 5) || ((int)$field_type === 7)){
$filter_box = form_dropdown(array("name" =>$label_id,"multiple id" => $label_id,"class" =>'form-control input-sm select2'),$array_list);
$filter_tr_line .= "<tr>
<td class='search_td'> $label_name</td>
<td>$filter_box</td>
</tr>";
}else
if((int)$field_type === 6){
$form_checkbox = form_checkbox(array("name" => $label_id,"id" => $label_id, "value"=> 1, "checked" => ($input_value) ? 1 : 0));
$filter_box .= "<label class='checkbox-inline'> $form_checkbox $form_label </label>";
$filter_tr_line .= "<tr>
<td class='search_td'> $label_name</td>
<td colspan='2'>$filter_box</td>
</tr>";
}else
if($field_type === 13){
$filter_box = form_input(array("name"=>$label_id, "id"=>$label_id,"placeholder"=>$label_name, "class"=>"form-control input-sm datepicker_time"));
$filter_tr_line .= "<tr>
<td class='search_td'> $label_name</td>
<td> $filter_box </td>
</tr>";
}else
if($field_type === 9){
$hidden_id = $label_id."_hidden_".$prime_form_id;
$auto_id = "#$label_id";
$table_val = '$table.draw()';
$filter_box = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>'',"placeholder"=>$label_name, "class"=>"form-control input-sm"));
$hidden_input = form_input( array("name"=>$hidden_id, "id"=>$hidden_id,"value"=>"","type"=>"hidden"));
$filter_tr_line .= "<tr>
<td class='search_td'> $label_name</td>
<td> $filter_box $hidden_input</td>
<div class='append_div'></div>
</tr>";
$auto_url = site_url("$controller_name/suggest_auto_filter");
$load_script .= "$('#$label_id').autocomplete({
source: '$auto_url',
minChars:2,
autoFocus: true,
delay:10,
appendTo: '.append_div',
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();
value = ui.item.value;
label = ui.item.label;
$('#$hidden_id').val(ui.item.value);
$('$auto_id').val(ui.item.display_name);
$table_val
}
});\n";
}else{
$filter_box = form_input(array("name"=>$label_id, "id"=>$label_id,"value"=>'',"placeholder"=>$label_name, "class"=>"form-control input-sm"));
$filter_tr_line .= "<tr>
<td class='search_td'> $label_name</td>
<td> $filter_box </td>
</tr>";
}
$table_map_list .= "var $label_id = $('#$label_id').val(); \n data.$lable = $label_id;\n";
if($field_type === 4){
$date_ids .= "#".$label_id.",";
}else
if($field_type === 9){
$hidden_id = $label_id."_hidden_".$prime_form_id;
$table_map_list .= "var $label_id = $('#$label_id').val(); \n data.$lable = $label_id;\n";
$table_map_list .= "var $hidden_id = $('#$hidden_id').val(); \n data.$hidden_id = $hidden_id;\n";
}else{
$input_ids .= "#".$label_id.",";
}
}
$table_map_list .= "var category = $('#category').val(); \n data.category = category;\n";
$table_map_list .= "var search_month = $('#search_month').val(); \n data.search_month = search_month;\n";
$table_map_list .= "var process_mode = $('#process_mode').val(); \n data.process_mode = process_mode;\n";
$date_ids = rtrim($date_ids,",");
$input_ids = rtrim($input_ids,",");
$filter_table = "<table class='fliter_table'>$filter_tr_line</table>";
/* PAGE FILTER - END */
$column_count = count(array_column($table_head, "label_name"))+1;
?>
<style type="text/css">
.form-inline .form-group {
display: inline-block;
vertical-align: middle;
margin-left: 30px;
margin-bottom: 10px;
width: 16.5%;
}
</style>
<div class='row title_content'>
<div class='col-md-2 col-xs-4'>
<h1 class='page_txt'><?php echo $page_name;?></h1>
</div>
<div class='col-md-10 col-xs-8'>
<ol class="breadcrumb">
<?php
if($access_import === 1){
$submit = $this->lang->line('common_submit');
echo "<li>
<a class='btn btn-xs btn-primary import' data-btn-submit= 'Submit' title='Import $page_name' href='$import_url' data_form='$controller_name' > <span class='fa fa-cloud-upload'> </span> Import $page_name
</a>
</li>";
}
?>
</ol>
</div>
</div>
<div class="row" style='margin:0px;overflow:auto;'>
<div class='col-md-12' style='padding:8px;min-height: 400px;'>
<table id="table" class='table table-striped table-hover' style='width:100% !important;'></table>
</div>
</div>
<!-- <div id="excel_import" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Leave Opening Import</h4>
</div>
<div class="modal-body">
<?php echo form_open("$controller_name/save_leave_import/",array("id"=>'save_leave_import',"class"=>"form-inline")); ?>
<fieldset id='FundBasicInfo' style='margin:0px;padding:8px;'>
<div class="form-group" style="display: none;">
<?php
echo form_label("Component", 'components', array('class' => 'required'));
echo form_input(array( 'name' => 'components', 'id' => 'components', 'class' => 'form-control input-sm', 'value' => $pick_label_name));
?>
</div>
<div class="form-group">
<?php
$pick_label_view_name = ucwords($pick_label_name);
echo form_label("$pick_label_view_name", 'component_value', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'component_value', 'id' => 'component_value', 'class' => 'form-control input-sm'), $component_value);
?>
</div>
<div class="form-group">
<?php
echo form_label("Template Name", 'template_name', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'template_name', 'id' => 'template_name', 'class' => 'form-control input-sm'), $temp_format_drop);
?>
</div>
<div class="form-group">
<?php
echo form_label($this->lang->line('excel_select_file'), 'excel_select_file', array('class' => 'required'));
echo form_upload(array('name' => 'excel_select_file','id' => 'excel_select_file','class' => 'form-control input-sm','value' =>'','accept' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,text/comma-separated-values, text/csv, application/csv' ));
?>
<a id="link" style="display: none;" href="#" title='Export All Data'><span class="fa fa-user-exit"> </span> Export Mapping Format </a>
<input type='hidden' id='excel_file_path' name='excel_file_path' value=''>
<span id='loader' style='color:#CC3366'></span>
</div>
<div class="form-group">
<?php
echo form_label("Excel Sheet Name", 'excel_sheet_name', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'excel_sheet_name', 'id' => 'excel_sheet_name', 'class' => 'form-control input-sm'), $excel_sheet_name);
?>
</div>
<div class="form-group">
<?php
echo form_label("Excel Start Row", 'excel_start_row', array('class' => 'required'));
echo form_input(array( 'name' => 'excel_start_row', 'id' => 'excel_start_row', 'class' => 'form-control input-sm number', 'value' => '1'));
?>
</div>
<div class="form-group">
<?php
echo form_label("Excel End Row", 'excel_end_row', array('class' => ''));
echo form_input(array( 'name' => 'excel_end_row', 'id' => 'excel_end_row', 'class' => 'form-control input-sm number', 'value' => ''));
?>
</div>
<div class="form-group">
<button class='btn btn-primary btn-sm' id="leave_submit">Submit</button>
</div>
</fieldset>
<?php echo form_close();?>
<div id='import_table_info' style='padding:8px;overflow: auto;'>
</div>
</div>
</div>
</div>
</div> -->
<script type="text/javascript">
$(document).ready(function (){
<?php echo $user_read_only;?>
<?php $this->load->view('partial/bootstrap_tables_locale'); ?>
select_call();
$('.modal-dialog').draggable({ handle: ".modal-header" });
var components = <?php echo json_encode($component_value); ?>;
var prime_id = "<?php echo $prime_id; ?>";
var key = '<?php echo $encKey; ?>';
$table = $('#table').DataTable( {
processing: true,
serverSide: true,
serverMethod: 'post',
lengthMenu: [[10,25,50,100,500,1000,-1],[10,25,50,100,500,1000,"All"]],
fixedColumns:{leftColumns: 4},
scrollX:true,
language:{
lengthMenu:"<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
searchPlaceholder: "Search records",
search: "",
},
ajax:{
'url': '<?php echo $search_url; ?>',
'data': function(data){
<?php echo $table_map_list; ?>
var encData = encrypt(key,{data});
return { Payload: encData };
},
beforeSend: function(){
$('.dataTables_processing').html('<span style="color:#CC3366;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</span>');
},
},
columns: [{
title:'<input type="checkbox" name="select_all" class="select_all">',
data: '<?php echo $prime_id; ?>',
type: 'html',
orderable: false,
className: 'select-checkbox',
searchable:false,
width:'1%',
render:function (value) {
if(parseInt(value) > 0) {
return '<input type="checkbox" value="'+value+'" name="select_one" class="select_one">';
}else{
return '';
}
}
},
<?php
foreach($table_head as $table){
$label_name = $table->label_name;
$view_name = str_replace("_", " ", $label_name);
if($table->label_name === 'financial_setting_id'){
echo "{title:'Financial Setting Year',data: '$label_name',type: 'date',visible:true,
},\n";
}else
if($table->label_name === 'component_value'){
echo "{title:'$view_name',data: '$label_name',type: 'date',visible:true,
render:function(value) {
if(value in components['$label_name']){
if(value === '0' || value === ''){
return '';
}else{
return components['$label_name'][value];
}
} else {
return value;
}
}
},\n";
}else{
echo "{title:'$view_name',data:'$label_name',visible:true,},\n";
}
}
?>
{title:'View',
data: '<?php echo $prime_id; ?>',
type: 'html',
render:function (value) {
if (value === null) return '';
//Encryption
var prime = '<?php echo $prime_id; ?>';
var enc = encrypt(key,{prime_id:value});
var value = encodeURIComponent(window.btoa(enc)); // Because of URL url encoded
<?php
if($access_update === 1){
?>
return '<a class="btn btn-xs btn-edit view" data-btn-submit="Submit" title="Update <?php echo $page_name;?>" href="<?php echo $view_url;?>'+value+'" data_form="<?php echo $controller_name;?>"> <span class="fa fa-pencil-square-o"></span> Edit</a>';
<?php
}else{
?>
return '<a class="btn btn-xs btn-edit view" title="View <?php echo $page_name;?>" href="<?php echo $view_url;?>'+value+'" data_form="<?php echo $controller_name;?>"> <span class="fa fa-eye"></span> View</a>';
<?php
}
?>
}
}
],
});
var table_option = "<table><tr><td id='filters' style='padding:8px 2px;'></td><td id='export' style='padding:8px 2px;'></td></tr></table>";
$("#table_filter").append(table_option);
var buttons = new $.fn.dataTable.Buttons(table, {
buttons: [{
extend: 'collection',
text: 'Export',
buttons: [
{extend:'copy',exportOptions:{modifier :{order:'index',page:'all',search:'none'},columns:':visible'}},
{extend:'csv',exportOptions:{modifier:{order:'index',page:'all',search:'none'},columns:':visible'}},
{extend:'excel',exportOptions:{modifier:{order :'index',page: 'all',search:'none'},columns:':visible'}},
{extend:'pdf',exportOptions:{modifier:{order :'index',page:'all',search:'none'},columns:':visible'}},
{extend:'print',exportOptions:{modifier:{order :'index',page:'all',search:'none'},columns:':visible',}},
]
}]
}).container().appendTo($('#export'));
$(".buttons-collection").addClass("btn btn-xs btn-edit");
$('input[type=search]').addClass('form-control input-sm');
$("select[name='table_length']" ).addClass('form-control input-sm');
$("#table_length").css("display", "-webkit-inline-box");
$("a.import").click(function(event){
event.preventDefault();
var action = $(this).attr('data-btn-submit');
var title = $(this).attr('title');
var control = $(this).attr('href');
var form_id = "save_import";
$('.modal').modal({backdrop: 'static', keyboard: false});
$('.modal-body').html('<div style="text-align: center;padding:50px;color:#4b6fa2;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Please wait processing....</div>');
$.ajax({
type: 'POST',
url: control,
dataType: "html",
success: function (response){
$('.modal-title').html('<h4 class="modal-title">'+title+'</h4>');
$('.modal-body').html(response);
var btn_info = '<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>';
if(action === "Submit"){
btn_info += '<button class="btn btn-primary" id="submit" style="margin-left: 15px;">Submit</button>';
}
btn_info = '<div class="col-md-12" style="background-color:#FFFFFF;padding: 10px 20px; text-align: right; border-top: 1px solid #e5e5e5;">'+btn_info+'</div>';
$('#'+form_id).append(btn_info);
}
});
});
$table.on('click','a.view',function(event){
event.preventDefault();
var action = $(this).attr('data-btn-submit');
var title = $(this).attr('title');
var control = $(this).attr('href');
var form_id = $(this).attr('data_form')+"_form";
console.log(form_id);
$('.modal').modal({backdrop: 'static', keyboard: false});
$('.modal-body').html('<div style="text-align: center;padding:50px;color:#4b6fa2;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Please wait processing....</div>');
$.ajax({
type: 'POST',
url: control,
dataType: "html",
success: function (response){
$('.modal-title').html('<h4 class="modal-title">'+title+'</h4>');
$('.modal-body').html(response);
var btn_info = '<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>';
if(action === "Submit"){
btn_info += '<button class="btn btn-primary" id="submit" style="margin-left: 15px;">Submit</button>';
}
btn_info = '<div class="col-md-12" style="background-color:#FFFFFF;padding: 10px 20px; text-align: right; border-top: 1px solid #e5e5e5;">'+btn_info+'</div>';
$('#'+form_id).append(btn_info);
}
});
});
//Table column click
// $table.on('click','tr td:not(:first-child :nth-last-child(-n+2))',function(event){
// event.preventDefault();
// var closest_row = $(this).closest('tr');
// var data = $table.row(closest_row).data();
// var prime_id = data['<?php echo $prime_id; ?>'];
// var action = $("td > a").attr('data-btn-submit');
// var title = $("td > a").attr('title');
// var control = '<?php echo $view_url; ?>'+prime_id;
// var form_id = $("td > a").attr('data_form')+"_form";
// console.log(form_id);
// $('.modal').modal({backdrop: 'static', keyboard: false});
// $('.modal-body').html('<div style="text-align: center;padding:50px;color:#4b6fa2;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Please wait processing....</div>');
// $.ajax({
// type: 'POST',
// url: control,
// dataType: "html",
// success: function (response){
// $('.modal-title').html('<h4 class="modal-title">'+title+'</h4>');
// $('.modal-body').html(response);
// var btn_info = '<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>';
// if(action === "Submit"){
// btn_info += '<button class="btn btn-primary" id="submit" style="margin-left: 15px;">Submit</button>';
// }
// btn_info = '<div class="col-md-12" style="background-color:#FFFFFF;padding: 10px 20px; text-align: right; border-top: 1px solid #e5e5e5;">'+btn_info+'</div>';
// $('#'+form_id).append(btn_info);
// }
// });
// });
//excel file upload
var send_url = '<?php echo base_url("$controller_name/import_file");?>';
$('#excel_select_file').change(function() {
$("#loader").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#submit').attr('disabled','disabled');
var file_data = $('#excel_select_file').prop('files')[0];
if(file_data){
var form_data = new FormData();
form_data.append('excel_select_file', file_data);
$.ajax({
url: send_url,
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(result_data){
$("#loader").html("");
$('#submit').attr('disabled',false);
console.log(result_data);
var rslt = JSON.parse(result_data);
if(rslt['success']){
$('#excel_file_path').val(rslt['path']);
get_excel(rslt['path']);
}else{
toastr.error(rslt['msg']);
}
}
});
}else{
toastr.error('Please select file to upload');
$("#loader").html("");
$('#submit').attr('disabled',false);
}
});
$('#save_leave_import').validate($.extend({
submitHandler: function (form){
$("#leave_submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#leave_submit').attr('disabled','disabled');
$(form).ajaxSubmit({
success: function (response){
$('#leave_submit').attr('disabled',false);
$("#leave_submit").html("Submit");
if(response.success){
toastr.success(response.message);
$("#import_table_info").html(response.table_info);
$("#save_leave_import").trigger("reset");
$table.draw();
}else{
toastr.error(response.message);
$("#import_table_info").html(response.table_info);
$("#save_leave_import").trigger("reset");
}
},
dataType: 'json'
});
},
rules:{
template_name : "required",
category_name : "required",
effective_month : "required",
excel_select_file: "required",
excel_sheet_name : "required",
excel_start_row:{
required: true,
min:1,
number:true,
},
}
}));
$('#template_name').change(function(){
var template_name = $('#template_name').val();
var controller_name = '<?php echo $controller_name; ?>';
if(template_name){
$('#link').show();
$('#link').attr("href","index.php/<?php echo $controller_name; ?>/excel/"+template_name);
}else{
$('#link').hide();
}
});
});
function get_excel(file_path){
if(file_path){
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,{file_path:file_path});
var import_url = '<?php echo site_url("$controller_name/sheet_name");?>'
$.ajax({
type: 'POST',
url: import_url,
contentType : 'text/plain',
data:encData,
success: function(data) {
var rslt = JSON.parse(data);
var option = "<option value=''>-- Select Sheet Name --</option>";
for(i = 0; i < rslt.sheet_name.length; i++) {
sheet_name = rslt.sheet_name[i];
option += "<option value='"+i+"'>"+sheet_name+"</option>";
}
$("#excel_sheet_name").html(option);
}
});
}
}
function select_call(){
$(function(){
$('.select2').select2({
placeholder: '---- Select ----',
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
});
}
</script>
<style>
.pull-right.search {
display: none !important;
}
.columns.columns-right.btn-group.pull-right {
display: none !important;
}
<?php
if($access_search === 1){
echo ".pull-right.search { display: block !important; }";
}
if($access_export === 1){
echo ".columns.columns-right.btn-group.pull-right{display: block !important;}";
}
?>
</style>
<?php $this->load->view("partial/footer"); ?>