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/uds.cafsinfotech.in/smart_hrms_dev/application/views/muster_roll_wizard/form.php
<?php 
$prime_id             = "prime_muster_transaction_id";
$form_id              = $controller_name."_form";
$access_data    	  = $this->session->userdata('access_data');
$access_deletess  	  = (int)$access_data[$controller_name]['access_delete'];
?>
<ul class="nav nav-tabs" data-tabs="tabs">
	<li class="active" role="presentation">
		<a data-toggle="tab" href="#setting_info">Setting Information</a>
	</li>
	<li role="presentation">
		<a data-toggle="tab" href="#muster_info">Muster Roll Information</a>
	</li>
</ul>
<div class="tab-content">
	<div class="tab-pane fade in active" id="setting_info">
			<?php  echo  form_open("$controller_name/save_setting/",array("id"=>"save_setting","class"=>"form-inline")); ?>
			<div class="form-group">
				<?php
					echo form_input( array('name'=>'prime_muster_transaction_id', 'id'=>'prime_muster_transaction_id', 'type'=>'Hidden','value'=> $muster_transaction_info->prime_muster_transaction_id));
					echo form_label('Setting Name', 'setting_name', array('class' => 'required'));
					echo form_input(array('name' => 'setting_name', 'id' => 'setting_name', 'class' => 'form-control input-sm alpha_text',  'value'=> $muster_transaction_info->setting_name)); 
				?>
			</div>
			<div class="form-group">
				<button class='btn btn-primary btn-sm' id="submit">Submit</button>
			</div>
			<?php  echo form_close(); ?>
	</div>
	<div class="tab-pane fade" id="muster_info">
		<?php 
			echo form_open("$controller_name/save_muster_info/",array('id'=>'muster_info_form','class'=>'form-inline'));
		?>
			<?php
				echo form_input( array('name'=>'muster_transaction_id', 'id'=>'muster_transaction_id', 'type'=>'Hidden','value'=>$muster_transaction_info->prime_muster_transaction_id));
			?>
		<div class="form-group">
			<?php echo form_label("Select Category", 'category', array('class' => 'required'));
			$multi_category = explode(',',$muster_transaction_info->category);
				echo form_dropdown(array('name' => 'category[]','multiple id' =>'category','class' => 'form-control input-sm select2'), $category_list,$multi_category); 
				echo "<label><input name='category_to_select' id='category_to_select' type='checkbox'> Select All</label>"; 
			?>
			</div>
		<div class="form-group">
			<?php echo form_label("Select Employee Component", 'emp_component');
			$multi_emp_component = explode(',',$muster_transaction_info->emp_component);
				echo form_dropdown(array('name' => 'emp_component[]','multiple id' =>'emp_component','class' => 'form-control input-sm select2'), $emp_component_list,$multi_emp_component); 
				// echo "<label><input name='emp_master_to_select' id='emp_master_to_select' type='checkbox'> Select All</label>"; 
			?>
		</div>
		<div class="form-group">
			<?php echo form_label("Select Time Office Component", 'time_office_component');
			$multi_time_office_component = explode(',',$muster_transaction_info->time_office_component);
				echo form_dropdown(array('name' => 'time_office_component[]','multiple id' =>'time_office_component','class' => 'form-control input-sm select2'), $time_office_component_list,$multi_time_office_component); 
			echo "<label><input name='time_office_component_to_select' id='time_office_component_to_select' type='checkbox'> Select All</label>"; 
			?>
		</div>
		<div class="form-group">
			 <label class='checkbox-inline'>
			<?php
				echo form_checkbox(array("name" => 'set_default', 'id' => 'set_default', "value"=> 1, "checked" => ($muster_transaction_info->set_default) ? 1 : 0));
				echo form_label('Set As Default', 'set_default');
			?>
			</label>
		</div>
		<div class="form-group">
			<button type='submit' class='btn btn-sm btn-primary' id='add_muster_info_btn'>Add/Update</button>
			<button type="button" class="btn btn-sm btn-primary" data-dismiss="modal">Close</button>
			<!-- <button type='button' class='btn btn-sm btn-danger' id='cancel_muster_info_btn'>clde</button> -->
		</div>
		<?php echo form_close(); ?>
	</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
	<?php echo $user_read_only; ?>   
	var prime_id         = "#<?php echo $prime_id;?>";
	var form_id          = "#<?php echo $form_id;?>";
	$(function () {
		$(".datepicker").datetimepicker({
			format: 'DD-MM-YYYY',
			//debug: true
		});
		$(".datepicker_month").datetimepicker({
			format: 'MM-YYYY',
			//debug: true
		});
		$(".datepicker_year").datetimepicker({
			format: 'YYYY',
			//debug: true
		});
	});
	$('.only_time').datetimepicker({
        format: 'HH:mm',
    });

	$(function () {
		$(".datepicker_time").datetimepicker({
			format: 'DD-MM-YYYY HH:mm:ss',
			//debug: true
		});
	});

	$(function(){
		$('.select2').select2({
			placeholder: '---- Select ----',
			allowClear: true,
			dropdownParent: $('.modal-dialog')
		});
		$('.select2-tags').select2({
			tags: true,
			tokenSeparators: [',']
		});
	});

	$('textarea').on('keyup keypress', function(e) {
		if(e.keyCode === 13) {    
			e.stopPropagation();
		}else
		if(e.shiftKey){
			e.stopPropagation();
		}
	});
	$(".number").bind('keyup', function(e) {
		this.value = this.value.replace(/[^0-9]/g,'');
	});
	$(".decimal_no").bind('keyup', function(e) {
		this.value = this.value.replace(/[^0-9_.]/g,'');
	});
	$('.alpha').bind('keypress', function (event) {
		var regex = new RegExp("^[a-zA-Z0-9\-_.@\/\\s]+$");
		var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
		if (!regex.test(key)) {
		   event.preventDefault();
		   return false;
		}
	});
	$(".alpha_text").keypress(function(event){
		var regex = new RegExp("^[a-zA-Z\\s]+$");
        var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
            event.preventDefault();
			return false;
		}
	});
	$.validator.setDefaults({ignore:[]});	
	$.validator.addMethod("alphanumeric", function(value, element) {
		return this.optional(element) || /^[a-z0-9\-\s]+$/i.test(value);
	}, "Allow only letters, numbers, or dashes.");

	$("#save_setting").submit(function(event){ event.preventDefault(); }).validate({
		rules:{
			setting_name: "required"
		},
		submitHandler: function (form){	
			//Encrypted
			let formData   = new FormData(form);
			// Convert FormData to JSON object
			let jsonData   = Object.fromEntries(formData.entries());
			var key        = '<?php echo $encKey; ?>';
			<?php echo $json_multi; ?>;	

			var encData    = encrypt(key,jsonData);
			$("#submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
			$('#submit').attr('disabled','disabled'); 
			$.ajax({
				url         : $(form).attr('action'), 
				type        : 'POST',
				contentType : 'text/plain', 
				data        : encData,
				success: function (response){					
					$('#submit').attr('disabled',false);
					$("#submit").html("Submit");
					if(response.success){
						toastr.success(response.message);
						$('#muster_transaction_id').val(response.prime_id);
						$('.nav-tabs a[href="#muster_info"]').tab('show');
					}else{
						toastr.error(response.message);
					}	
				},
				dataType: 'json'
			});
		}          
	});
	//for category select 
	$.validator.addMethod("validateSelect2", function(value,element) {
       return this.optional(element) || value != '' ;
    }, " Please Choose Category");

	$("#muster_info_form").submit(function(event){ event.preventDefault(); }).validate({
		rules:{
			"category[]": {
				required: true,
				validateSelect2: true,
			}
		},
		submitHandler: function (form){				
			//Encrypted
			let formData   = new FormData(form);
			// Convert FormData to JSON object
			let jsonData   = Object.fromEntries(formData.entries());
			var key        = '<?php echo $encKey; ?>';
			<?php echo $json_multi; ?>;
			jsonData['category[]']              = $('#category').val();
			jsonData['emp_component[]']         = $('#emp_component').val();
			jsonData['time_office_component[]'] = $('#time_office_component').val();
			var encData    = encrypt(key,jsonData);
			$("#add_muster_info_btn").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
			$('#add_muster_info_btn').attr('disabled','disabled');
			$.ajax({
				url         : $(form).attr('action'), 
				type        : 'POST',
				contentType : 'text/plain', 
				data        : encData,
				success: function (response){

					$('#add_muster_info_btn').attr('disabled',false);
					$("#add_muster_info_btn").html("Submit");
					if(response.success){
						toastr.success(response.message);
						setTimeout(function () {
					        location.reload(true);
					    }, 2000);
					}else{
						toastr.error(response.message);
					}
				},
				dataType: 'json'
			});
		}
	});
	//FIRST WE ADD A SETTING NAME
	$("#category,#emp_component,#time_office_component").on('click',function(){ 
		var muster_transaction_id = parseInt($('#muster_transaction_id').val());
		if(!muster_transaction_id){
			toastr.error("Please Fill privious Tab and try again");
		}
	});

	$("#category_to_select").click(function(){
		if($("#category_to_select").is(':checked') ){
			$("#category > option").prop("selected","selected");
			$("#category").trigger("change");
		}else{
			$("#category > option").removeAttr("selected");
			$("#category").trigger("change");
		}
	});
	$("#time_office_component_to_select").click(function(){
		if($("#time_office_component_to_select").is(':checked') ){
			$("#time_office_component > option").prop("selected","selected");
			$("#time_office_component").trigger("change");
		}else{
			$("#time_office_component > option").removeAttr("selected");
			$("#time_office_component").trigger("change");
		}
	});
	/* LOAD SCRIPT AND CONDITION LOAD */
	<?php
		echo "$document_load_script";
		foreach($condition_list as $list){
			echo $list;
		}
	?>
	/* LOAD SCRIPT AND CONDITION LOAD */
});

</script>
<style type="text/css">
	.select2-container--default .select2-selection--multiple .select2-selection__rendered {
        overflow: scroll !important;
        height:90px !important;
    }
</style>