File: /home/cafsindia/cpaqua.cafsinfotech.in/dump/application/views/open_query/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_create_ticket_id";
$search_url = site_url($controller_name ."/search");
/* PAGE TITLE AND BUTTONS- END */
/* PAGE FILTER - START */
$filter_tr_line = "";
$table_map_list = "";
$input_ids = "";
$date_ids = "";
$filter_cond_array = array('' => '--- Select ---','=' => '=','>' => '>','<' => '<','LIKE' => 'LIKE');
$tr_line = "";
foreach($fliter_list as $fliter){
$label_id = $fliter['label_id'];
$field_isdefault = $fliter['field_isdefault'];
$array_list = $fliter['array_list'];
$field_type = $fliter['field_type'];
$label_name = ucwords(strtolower(str_replace("_"," ",$label_id)));
$filter_label = form_input(array('type'=>'hidden','name' => 'filter_label[]', 'class' => 'form-control input-sm','value' => $label_id));
$filter_type = form_input(array('type'=>'hidden','name' => 'filter_type[]', 'class' => 'form-control input-sm','value' => $field_isdefault));
$field_type_input = form_input(array('type'=>'hidden','name' => 'field_type[]', 'class' => 'form-control input-sm','value' => $field_type));
$filter_cond = form_dropdown(array('name' => 'filter_cond[]', "id"=>$label_id."_con",'class' => 'form-control input-sm'), $filter_cond_array);
if($field_type === 4){
$filter_val = form_input(array( 'name' => 'filter_val[]', "id"=>$label_id, 'class' => 'form-control input-sm datepicker', 'placeholder'=>'Search value','value' => ''));
}else
if(((int)$field_type === 5) || ((int)$field_type === 7)){
$filter_val = form_dropdown(array('name' => 'filter_val[]', "id"=>$label_id,'multiple class' => 'form-control input-sm select2'), $array_list);
$readonly = 'readonly';
}else{
$filter_val = form_input(array( 'name' => 'filter_val[]', "id"=>$label_id, 'class' => 'form-control input-sm', 'placeholder'=>'Search value','value' => ''));
$readonly = '';
}
$filter_cond = form_dropdown(array('name' => 'filter_cond[]', "id"=>$label_id."_con",'class' => 'form-control input-sm',$readonly=>true), $filter_cond_array);
$tr_line .= "<tr>
<td class='search_td'>$field_type_input $label_name $filter_label $filter_type</td>
<td> $filter_cond </td>
<td> $filter_val </td>
</tr>";
}
$report_filter = form_input(array('type'=>'hidden','name' => 'report_filter_id','id' => 'report_filter_id', 'class' => 'form-control input-sm','value' => ''));
$filter_name = form_input(array('type'=>'hidden','id' => 'filter_name', 'class' => 'form-control input-sm','value' => ''));
$form_id = form_input(array( 'name' => 'form_id','id' => 'form_id','type'=>'hidden','class' => 'form-control input-sm','value' => "$form_id"));
$filter_table = "$filter_name $report_filter $form_id<table class='fliter_table' style='width:100%;'>$tr_line</table>";
$table_map_list .= "
var filter_label = $(\"input[name='filter_label[]']\").map(function(){return $(this).val();}).get();\n
var field_type = $(\"input[name='field_type[]']\").map(function(){return $(this).val();}).get();\n
var filter_type = $(\"input[name='filter_type[]']\").map(function(){return $(this).val();}).get();
var filter_cond = $(\"select[name='filter_cond[]']\").map(function(){return $(this).val();}).get();
var filter_val = $(\"input[name='filter_val[]'],select[name='filter_val[]']\").map(function(){
if($(this).val()){
var return_data = ($(this).val()).toString();;
return return_data;
}else{
return '';
}
}).get();
";
/* PAGE FILTER - END */
$column_count = count(array_column($table_headers, "label_name"))+1;
//echo "BSK $column_count"; die;
$table_map_list .= "\n data.field_type = field_type;\n\n data.filter_label = filter_label;\n \n data.filter_type = filter_type;\n \n data.filter_cond = filter_cond;\n \n data.filter_val = filter_val;\n \n data.start_date = start_date;\n \n data.end_date = end_date;\n ";
?>
<script src="dist/daterangepicker/knockout.js" type="text/javascript"></script>
<link href="dist/daterangepicker/daterangepicker.min.css" rel="stylesheet" type="text/css" />
<script src="dist/daterangepicker/daterangepicker.min.js" type="text/javascript"></script>
<div class='row title_content'>
<div class='col-md-2 col-xs-4'>
<h1 class='page_txt'><?php echo strtoupper($page_name) ?></h1>
</div>
<div class='col-md-10 col-xs-8'>
<ol class="breadcrumb">
<?php
$quick_link = explode(",",$link_info[0]->quicklink);
$link_li_line = "";
foreach($quick_link as $link){
if($link){
$url = site_url("$link");
$name = ucwords(str_replace("_"," ",$link));
$link_li_line .= "<li><a href='$url'> <i class='fa fa-angle-double-right' aria-hidden='true'></i> $name</a></li>";
}
}
if($link_li_line){
echo "<li class='dropdown'>
<a class='btn btn-xs btn-primary dropdown-toggle' type='button' id='dropdownMenu2' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'>
<i class='fa fa-plus-circle' aria-hidden='true'></i> Quick Links
</a>
<ul class='dropdown-menu dropdown-menu-left' aria-labelledby='dropdownMenu2'>
$link_li_line
</ul>
</li>";
}
?>
<li><a href="<?php echo site_url()?>#Home">Home</a></li>
<li><a href="<?php echo site_url($controller_name)?>#<?php echo "$controller_name";?>"><?php echo "$page_name";?></a></li>
<li class="active">List</li>
</ol>
</div>
</div>
<div id="toolbar" class="form-inline" style="display: flex;">
<div class="form-group" style='width:12% !important;'>
<?php //if((int)$date_filter === 1){ ?>
<div class="" >
<input name="daterangepicker" class="daterangepicker-field form-control input-sm" data-bind='daterangepicker: dateRange, daterangepickerOptions: { maxDate: moment()}'></input>
</div>
<?php //}?>
</div>
<?php
// if($access_search === 1){
?>
<div id="search_filter_div" class='search_filter' style="display:none;">
<div style="max-height:250px;overflow: auto;">
<?php echo $filter_table;?>
</div>
<div class="row" style="margin:0px;margin-top:15px;">
<div class="col-md-4" style='text-align:left;'>
<a class="btn btn-xs btn-danger" id="clear_search"> Clear All</a>
</div>
<div class="col-md-4" style='text-align:right;left: 35%;'>
<a class="btn btn-xs btn-primary" id="search_submit"> Submit </a>
</div>
</div>
</div>
<?php
// }
?>
</div>
<div id="table_holder">
<table id="table"></table>
</div>
<script type="text/javascript">
$(document).ready(function (){
var start_date = "<?php echo date('Y-m-d',strtotime('first day of this month')); ?>";
var end_date = "<?php echo date('Y-m-d',strtotime('last day of this month')); ?>";
var encKey = '<?php echo $encKey; ?>';
$.fn.dataTable.ext.errMode = 'throw';
$('.modal-dialog').draggable({ handle: ".modal-header" });
$table = $('#table').DataTable({
paging : true,
processing: true,
serverSide: true,
"bProcessing": true,
"bServerSide": true,
serverMethod: 'post',
lengthMenu: [[10,25,50,100,500,1000,-1],[10,25,50,100,500,1000,"All"]],
fixedColumns:{leftColumns: 3},
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(encKey,{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) {
console.log(value);
return '<input type="checkbox" value="'+value+'" name="select_one" class="select_one">';
}
},
<?php
foreach($table_headers as $table){
$label_name = $table->label_name;
$view_name = $table->view_name;
if($label_name === 'entry_date'){
$view_name = 'LAST ENTRY DATE';
}
$field_type = (int)$table->field_type;
if($field_type === 4){
echo "{title:'$view_name',data: '$label_name',type: 'date',visible:true,
render:function(value) {
if (value === null || value === '00-00-0000' || value === '1970-01-01') return '-';
return moment(value).format('DD-MM-YYYY');
// return value;
}
},\n";
}else
if($field_type === 6){
echo "{title:'$view_name',data: '$label_name',type: 'date',visible:true,
render:function(value) {
send_val = 'No';
if(value === '1'){ send_val = 'No'; }
return send_val;
}
},\n";
}else
if($field_type === 1 || $field_type === 8){
echo "{title:'$view_name',data: '$label_name',visible:true,
render:function(value) {
if(value){
var val = value.replace(/\~/g,'\"');
val = val.replace(/\`/g,'\'');
val = val.replace(/\^/g,'\&');
val = val.replace(/xxamp/gi, '&');
val = val.replace(/xquot/gi, '\'');
val = val.replace(/xdbquot/gi, '\"');
return val;
}else{
return '';
}
}
},\n";
}else
if($field_type === 10){
$img = '<img src="@URL@" class="zoom" alt="img" height="30" width="30">';
echo "{title:'$view_name',data: '$label_name',type: 'date',visible:true,sClass: 'center',
render:function(value) {
if(value !== ''){
var image = '$img';
image = image.replace('@URL@', value);
return image;
}else{
return '';
}
}
},\n";
}else{
echo "{title:'$view_name',data:'$label_name',visible:true,},\n";
}
}
?>
],
"initComplete": () => {$("#table").show();}
});
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 company_name = '<?php echo $company_information->company_name;?>';
var report_name = '<?php echo $report_name;?>';
$('#export').html("<button id='export_btn' class='btn btn-xs btn-edit'>Export</button>");
var custom_filter = "<button class='btn btn-xs btn-edit fliter' id='search_filter'>Filter <i class='fa fa-filter' aria-hidden='true'></i></button>";
$("#filters").append(custom_filter);
$(".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');
$("#search_filter_div").hide();
$("#search_submit").click(function(){
$("#search_filter_div").toggle();
$table.draw();
});
$("#search_filter").click(function(){
$("#search_filter_div").toggle();
});
$("#clear_search").click(function(){
$("select[name='filter_cond[]']").val('');
$("#pre_filter").val('');
$("input[name='filter_val[]'],select[name='filter_val[]']").val('');
$('option').attr('selected', false);
$("#search_filter_div").toggle();
$('.select2').select2({
placeholder: '---- Select ----',
});
$table.draw();
});
$('.select2').select2({
placeholder: '---- Select ----',
});
$(".datepicker").datetimepicker({
format: 'DD-MM-YYYY',
//debug: true
});
//date picker new model start BSK -26/07/2021
$(".daterangepicker-field").daterangepicker({
locale: { inputFormat: 'DD/MM/YYYY' },
forceUpdate: true,
callback: function(startDate, endDate, period){
var title = startDate.format('DD/MM/YYYY') + ' – ' + endDate.format('DD/MM/YYYY');
$(this).val(title);
start_date = startDate.format('YYYY-MM-DD');
end_date = endDate.format('YYYY-MM-DD');
let navData = window.performance.getEntriesByType("navigation");
if (navData.length > 0 && navData[0].loadEventEnd > 0){
$table.draw();
//$('#export').html("<button id='export_btn' class='btn btn-xs btn-edit'>Export</button>");
}
var date = startDate.format('MMMM-YYYY').toUpperCase();
}
});
//date picker new model end BSK -26/07/2021
$('#export_btn').click(function(e){
e.preventDefault();
$.confirm({
title: 'Export to Excel',
content: '' +
'<form action="" class="formName">' +
'<div class="form-group">' +
'<label>Excel Name</label>' +
'<input type="text" placeholder="Please Enter Excel Name" name="excel_name" class="name form-control" required />' +
'</div>' +
'</form>',
buttons: {
formSubmit: {
text: 'Export',
btnClass: 'btn-blue',
action: function () {
var excel_name = this.$content.find('.name').val();
if(!excel_name){
$.alert('provide a valid Excel name');
return false;
}
var form_id = $('#form_id').val();
var search = $('input[type="search"]').val();
var filter_label = $("input[name='filter_label[]']").map(function(){return $(this).val();}).get();
var filter_type = $("input[name='filter_type[]']").map(function(){return $(this).val();}).get();
var field_type = $("input[name='field_type[]']").map(function(){return $(this).val();}).get();
var filter_cond = $("select[name='filter_cond[]']").map(function(){return $(this).val();}).get();
var filter_val = $("input[name='filter_val[]'],select[name='filter_val[]']").map(function(){
if($(this).val()){
var return_data = ($(this).val()).toString();;
return return_data;
}else{
return '';
}
}).get();
var i= 0;
$.each($("input[name='filter_val[]'],select[name='filter_val[]']"), function(){
var val = $(this).val();
if(val && filter_cond[i] === ""){
i++;
}else{
console.log(val+" - "+filter_cond[i]);
}
});
var i= 0;
if(parseInt(i) === 0){
$('.dataTables_processing').html('<span style="color:#CC3366;font-weight:bold;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Processing the Excel Export.. Please Wait... </span>');
$('.dataTables_processing').show();
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {excel_name:excel_name,form_id:form_id,filter_label:filter_label,field_type:field_type,filter_type:filter_type,filter_cond:filter_cond,filter_val:filter_val,start_date:start_date,end_date:end_date};
var encData = encrypt(encKey,data);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/export_to_excel"); ?>',
data:encData,
contentType: 'text/plain',
success: function(response){
var rslt = JSON.parse(response);
var length = rslt.search_result.length;
if(parseInt(length) > 0){
JSONToXLSXConvertor(rslt.search_result, excel_name, true);
}else{
toastr.error('No Data Available...');
$('.dataTables_processing').hide();
}
}
});
}else{
toastr.error('Filter condition and value is not equal');
}
}
},
cancel: function(){
$('#export_btn').attr('disabled',false);
$("#export_btn").html("Export");
},
},
onContentReady: function () {
this.$content.find('.name').val($('#excel_name').val());
// bind to events
var jc = this;
this.$content.find('form').on('submit', function (e) {
// if the user submits the form by pressing enter in the field.
e.preventDefault();
jc.$$formSubmit.trigger('click'); // reference the button and click it
});
}
});
});
});
function JSONToXLSXConvertor(JSONData, ReportTitle, ShowLabel) {
var myFile = ReportTitle+".xlsx";
var myWorkSheet = XLSX.utils.json_to_sheet(JSONData);
var myWorkBook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(myWorkBook, myWorkSheet, "myWorkSheet");
XLSX.writeFile(myWorkBook, myFile);
$('.dataTables_processing').hide();
}
</script>
<style type="text/css">
button.dt-button{
background-color: #b2ac46;
border-color: #b2ac46;
border-radius: 3px;
padding:8px 2px;
}
</style>
<?php $this->load->view("partial/footer"); ?>