MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/hrms_allyindian_com/application/views/leave_export/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/");  
	?>
<div class='row title_content'>
	<div class='col-md-2 col-xs-4'>
		<h1 class='page_txt'><?php echo $page_name;?></h1>
	</div>
</div>
<div id="holder" class="form-inline" style="margin-top:20px;">
		<div class="col-md-12" style="margin-bottom:10px;">
			<div class="form-group">
				<?php
					echo form_label("Category", 'category', array('class' => 'required'));
					echo form_dropdown(array( 'name' => 'category', 'id' => 'category', 'class' => 'form-control input-sm select2'), $category_list);
				?>
			</div>			
			<div class="form-group">
				<?php
					echo form_label('Process Month', 'process_month', array('class' => 'required'));
					echo form_input(array('name' => 'process_month', 'id' => 'process_month', 'class' => 'form-control input-sm datepicker', 'value'=>'')); 
				?>
			</div>			
			<!-- <div class="form-group">
				<button class='btn btn-primary btn-sm' id="search">Export</button>
			</div> -->
			<a id="search" href="#" title='Export All Data' class="btn btn-primary btn-sm"> Export </a>
		</div>
</div>
<div class="col-md-12" id="employee_table_view" style="margin:10px;padding:10px;background-color: #f2f2f2;"></div>
<div class="modal" id="myModal">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title">Payslip</h4>
        <button type="button" class="close" data-dismiss="modal">&times;</button>
      </div>

      <div class="modal-body" id="example1">
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

<script type="text/javascript">
$(document).ready(function (){
	$(function () {
		$(".datepicker").datetimepicker({
			format: 'MM-YYYY',
			//debug: true
		});
	});	

	$('#from_month,#to_month').on("dp.hide",function (e) {
		var from_month    = $('#from_month').val();
		var to_month      = $('#to_month').val();
		if(toPartialIso(from_month) > toPartialIso(to_month) ){
			toastr.error("To Month should be Greater than From Month!!");
			$('#to_month').val('');
		}
	});
	
	$("#search").on('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 process_month  = $('#process_month').val();
						var category       = $('#category').val();		
						if(process_month && category){
							var send_url   = '<?php echo site_url("$controller_name/leave_export");?>'
							$("#search").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
							$('#search').attr('disabled','disabled');
							//Encryption
							var key        = '<?php echo $key; ?>';
							var data       = {process_month:process_month,category:category};
							var encData    = encrypt(key,data);		
							$.ajax({
								type: 'POST',
								url: send_url,
								data:encData,				
								contentType: 'text/plain',
								success: function(data) {
									var rslt = JSON.parse(data);
									$('#search').attr('disabled',false);	
									$("#search").html("submit");
									if(!rslt.success){
										toastr.error(rslt.msg);						
										return false;
									}else{	
										JSONToXLSXConvertor(rslt.export_result, excel_name, true);
									}								
								}
							});			
						}
					},
					cancel: function(){
						$('#search').attr('disabled',false);
						$("#search").html("Save Filter");
					},
				},
				cancel: 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);
  $('#search').attr('disabled',false);
  $("#search").html("Export");
}

function select_call(){
	$(function(){
		$('.select2').select2({
			placeholder: '---- Select ----',
		});
		$('.select2-tags').select2({
			tags: true,
			tokenSeparators: [',']
		});
	});
}
function pdf_viewer(url){
	PDFObject.embed(url, "#example1");
	$("#myModal").modal("show");
}
//from and to month validation
function toPartialIso(month) {
    var m = month.match(/(\d{2})-(\d{4})/);
    if (m) {
        return m[2] + "-" + m[1]
    }
    throw "Choose Correct Date!"
}

</script>
<style>
.pdfobject-container { height: 50rem; border: 1rem solid rgba(0,0,0,.1); }
.modal-dialog {
  width: 100% !important;
  height: 100% !important;
  margin: 0;
  padding: 0;
}
.modal-content {
  height: auto;
  min-height: 100% !important;
  border-radius: 0;
}
.modal .modal-body div {
    height: 100% !important;
    overflow-y: auto;
    width: 100%;
}
</style>
<?php $this->load->view("partial/footer"); ?>