File: //home/cafsindia/hrms_allyindian_com/application/views/pf_challan_setting/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/");
?>
<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_add === 1){
echo "<li>
<a class='btn btn-xs btn-primary add' title='Add $page_name' href='$view_url' data_form='$controller_name'><span class='fa fa-user-plus'> </span>Add $page_name
</a>
</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 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>
<script type="text/javascript">
$(document).ready(function (){
$('.modal-dialog').draggable({ handle: ".modal-header" });
var prime_id = "<?php echo $prime_id; ?>";
// DYNAMIC DATATABLE FOR (8.3) ARN
$table = $('#table').DataTable({
processing: true,
serverSide: true,
serverMethod: 'post',
lengthMenu: [[10,25,50,100,500,1000,-1],[10,25,50,100,500,1000,"All"]],
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;?>
},
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) {
return '<input type="checkbox" value="'+value+'" name="select_one" class="select_one">';
}
},
<?php
foreach($table_head as $table){
$label_name = $table->label_name;
$view_name = str_replace("_", " ", $label_name);
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 '';
<?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
}
?>
}
}
],
});
$("<?php echo $input_ids;?>").bind('keyup change', function(e) {
$table.draw();
});
$("<?php echo $date_ids;?>").on("dp.hide",function (e) {
$table.draw();
});
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);
<?php
if($access_export === 1){
?>
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'));
<?php
}else{
?>
var buttons = "";
<?php
}
?>
$(".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');
$("a.add").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 = $(this).attr('data_form')+"_form";
view_form_data(action,title,control,form_id);
});
$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";
view_form_data(action,title,control,form_id);
});
$table.on('click','tr td:not(:first-child, :last-child)',function() {
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";
view_form_data(action,title,control,form_id);
});
/* DELETE PROCESS - START*/
<?php
if($access_delete === 1){
?>
var delete_btn = "<button class='btn btn-xs btn-danger fliter' id='delete_btn' style='margin-top:7px' disabled='true'><i class='fa fa-trash' aria-hidden='true'></i> Delete</button>";
<?php
}else{
?>
var delete_btn = "";
<?php
}
?>
$("#table_length").prepend(delete_btn);
$("#table_length").css("display", "-webkit-inline-box");
$('.select-checkbox').on('click', "input[name='select_all']", function(){
if(this.checked) {
$('.select_one').prop('checked', true);
var delete_ids = [];
$.each($("input[name='select_one']:checked"), function(){
delete_ids.push($(this).val());
});
if(delete_ids.length > 0) {
$('#delete_btn').attr('disabled',false);
}else{
$('.select_all').prop('checked', false);
$('#delete_btn').attr('disabled',true);
}
}else{
$('.select_all').prop('checked', false);
$('.select_one').prop('checked', false);
$('#delete_btn').attr('disabled',true);
}
});
$table.on('change','.select_one',function(event){
var delete_ids = [];
$.each($("input[name='select_one']:checked"), function(){
delete_ids.push($(this).val());
});
if(delete_ids.length > 0) {
$('#delete_btn').attr('disabled',false);
}else{
$('#delete_btn').attr('disabled',true);
}
});
$("#delete_btn").click(function(event){
if(confirm("Are you sure. you want delete select records??")){
var delete_ids = [];
$('input[type=checkbox]').each(function (){
if(this.checked) {
delete_ids.push($(this).val());
}
});
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,{delete_ids:delete_ids});
//do ajax process
if(delete_ids){
$.ajax({
type: "POST",
url: '<?php echo site_url("$controller_name/delete"); ?>',
data:encData,
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
toastr.success(rslt.message);
$('.select_all').prop('checked', false);
$('.select_one').prop('checked', false);
$('#delete_btn').attr('disabled',true);
$table.draw();
}else{
toastr.error(rslt.message);
}
}
});
}
}else{
$('.select_all').prop('checked', false);
$('.select_one').prop('checked', false);
$('#delete_btn').attr('disabled',true);
}
});
/* DELETE PROCESS - END*/
});
// VIEW THE FORM FIELD _ARN
function view_form_data(action, title, control, form_id){
const $modal = $('.modal');
const $body = $modal.find('.modal-body');
$modal.modal({ backdrop: 'static', keyboard: false });
$body.html('<div class="text-center p-5" style="color:#4b6fa2;">' +
'<i class="fa fa-spinner fa-spin fa-2x"></i><br/>Please wait…</div>');
$.ajax({
type: 'POST',
url: control,
dataType: 'html',
success: function (response){
$modal.find('.modal-title').html('<h4 class="modal-title">' + title + '</h4>');
$body.html(response);
// Remove any previously injected footer
$modal.find('.modal-content .modal-footer').remove();
// Construct dynamic footer HTML
let footerHtml = `<div class="modal-footer">
<a class="btn btn-danger" data-dismiss="modal" onclick="close_formfun()">Close</a>`;
if (action === "Submit") {
footerHtml += '<button id="submit" class="btn btn-primary ms-2">Submit</button>';
}
footerHtml += '</div>';
$body.after(footerHtml); // Append footer right after .modal-body inside .modal-content
$modal.off('click', '#submit').on('click', '#submit', function (){
$('#pf_challan_setting_form').submit(); // Trigger form validation and submission
});
},
error: function (){
$body.html('<p class="text-danger">Failed to load form. Try again later.</p>');
}
});
}
function close_formfun(){
$table.draw();
$('.select2').select2({placeholder: '---- Select ----',});
}
</script>
<!-- STYLE REMOVED FOR (8.3) THIS PLACE -->
<?php $this->load->view("partial/footer"); ?>