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_cafsinfotech_in/application/views/leave_credit_manual/manage.php
<?php 
	$this->load->view("partial/header"); 
	$access_data    = $this->session->userdata('access_data');
	$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="row" style='margin-bottom:0px;'>
		<div class="col-md-12">
			<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', 'placeholder' => 'Process Month', 'value'=>'')); 
				?>
			</div>			
			<div class="form-group">
				<button class='btn btn-primary btn-sm' id="process">Process</button>
			</div>
		</div>
	</div>
</div>
<div class="row" style='margin:0px;overflow:auto;width: 100%;'>	
	<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 (){
	$(function () {
		$(".datepicker").datetimepicker({
			format: 'MM-YYYY',
			//debug: true
		});
	});	
	$("#process").on('click', function(e){
		e.preventDefault();	
		$link = $(this); 
		var process_month       = $('#process_month').val();
		if(process_month){
			// manual_leave_credit(process_month);
			var send_url   = '<?php echo site_url("$controller_name/manual_leave_credit");?>'
			$("#process").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
			$('#process').attr('disabled','disabled');		
			//Encryption
			var key        = '<?php echo $key; ?>';
			var data       = {process_month:process_month};
			var encData    = encrypt(key,data);
			$.ajax({
				type: 'POST',
				url: send_url,
				data:encData,				
				contentType: 'text/plain',
				success: function(data) {
					var rslt = JSON.parse(data);
					$('#process').attr('disabled',false);	
					$("#process").html("Process");
					if(rslt.success){					
						toastr.success(rslt.message);
						data_table_create(rslt.data);						
						
					}else{
						toastr.error(rslt.message);	
						$('#process_month').val('');
						return false;
					}
				}
			});			
		}else{
			toastr.error('Process Month Should not Empty?');	
		}
	});
});

function data_table_create(table_data){
	$table = $('#table').DataTable( {
        destroy: true,
        // scrollY: 200,
        lengthMenu: [[25,50,100],[25,50,100,"All"]],
        language:{
            lengthMenu:"<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
            searchPlaceholder: "Search records",
            search: "",
        },
        data: table_data,
        columns: [

            { title: "Based Date"   , data: "based_on_date" , 
                render:function(value) {
                    if (value === null) return '';
                    return moment(value).format('DD/MM/YYYY'); }},

            { title: "Employee Code"   , data: "employee_code" },

            { title: "Leave Name"  , data: "leave_name" },

            { title: "Monthly Credit" , data: "monthly_credit"  ,
                render: function (data) {
                    return "<input type='text' id='monthly_credit' name='monthly_credit' value='"+data+"' class = 'form-control' onchange=update_credit("+data+",$(this).closest('tr'),this.name,this.value)>"; }},

            { title: "Total Credit" , data: "total_credit" },
            { title: "Entry Month"   , data: "entry_month"  
                // ,render:function(value) {
                //     if (value === null) return '';
                //     return moment(value).format('DD/MM/YYYY'); }
            }
        ]
    } );
     $("input[type='search']").addClass('form-control');	
     return $table;
}

//UPDATE A CREDIT VALUE TO CREDIT UPDATE LOG TABLE
function update_credit(prev_value,closest_row,label_name,value){
	var data              = $table.row(closest_row).data();
	var string_data       = JSON.stringify(data);
	// console.log(prev_value);
	var send_url   = '<?php echo site_url("$controller_name/update_leave_credit");?>'
	if(parseInt(prev_value) !== parseInt(value)){
		//Encryption
		var key        = '<?php echo $key; ?>';
		var data       = {string_data:string_data,credit_name:label_name,prev_value:prev_value,credit_value:value};
		var encData    = encrypt(key,data);
		$.ajax({
			type: 'POST',
			url: send_url,
			data:encData,				
			contentType: 'text/plain',
			success: function(data) {
				var rslt = JSON.parse(data);
				if(rslt.success){	
					toastr.success(rslt.message);	
					data_table_create(rslt.data);
				}else{
					toastr.error(rslt.message);	
					$("#"+label_name+"").val(prev_value);
				}
			}
		});		
	}else{
		toastr.error("Don't Change a Same Value?");	
		$("#"+label_name+"").val(prev_value);
	}		
}

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"); ?>