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/.trash/application.1/views/invalid_punch_approval/manage.php
<?php 
    $this->load->view("partial/header"); 
    $page_name      = ucwords(str_replace("_"," ",$controller_name));
    $prime_id       = "prime_".$controller_name."_id";
    /* PAGE TITLE AND BUTTONS- START */
    $breadcrumb = "";
    if($link_li_line){
        $breadcrumb .= "<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>";
    }
    $breadcrumb  .="<li><a href='$site_url#Home'>Home</a></li>
                    <li><a href='".site_url($controller_name)."#$controller_name'>$page_name</a></li>
                    <li class='active'>List</li>";       
    $today        = date('d-m-Y');
    $prev_month   = date('01-m-Y', strtotime("-3 month", strtotime($today)));  
?>
<!-- MODULE TITLE !!! -->
<div class='row title_content'>
    <div class='col-md-2 col-xs-4'>
        <h1 class='page_txt' style="overflow: visible !important;"><?php echo $page_name;?></h1>
    </div>
    <div class='col-md-10 col-xs-8'>
        <ol class="breadcrumb">
            <?php  echo $breadcrumb; ?> 
        </ol>
    </div>
</div>
<div class="row" style='margin: 0px;'>  
    <div class='col-md-12' style='margin:10px;padding:10px;' id="status_info"></div>
</div>
<style type="text/css">
.btn-link {
    text-decoration: none;
    color: #007bff;
    cursor: pointer;
}
.card-body {
    padding: 0px 20px;
}
.btn-submit {
    padding: 4px ;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-submit:hover {
    background-color: #870000;
}
span[name='remarks'] {
    color:#0056b3;
    font-weight: bold;
}
#status_list >tbody>tr>td{
    padding:0px !important;
}
#status_list th, #status_list td ,#status_list th, #status_list td {
    text-align: center;
}
td.dataTables_empty {
    height:40px !important;
    padding: 20px; 
    text-align: center; 
}
</style>
<script type="text/javascript">
$(document).ready(function(){
    // DATEPICKER 
    $(".datepicker").datetimepicker({format: 'DD-MM-YYYY'});
    //SELECT2
    $(function(){$('.select2').select2({placeholder: '---- Select ----'});$('.select2-tags').select2({tags: true,tokenSeparators: [',']});});
    request_status();
});
function request_status(){
    $.ajax({
        url    : '<?php echo site_url("$this->control_name/request_status");?>',
        success: function (response){
            var rslt = JSON.parse(response);
            if(rslt.success){
                $("#status_info").html(rslt.track_content);
                $("#status_list").DataTable({
                    "columnDefs": [
                        { "width": "3%", "targets": 0 },
                        { "width": "5%", "targets": 1 },
                        { "width": "5%", "targets": 2 },
                        { "width": "5%", "targets": 3 }
                    ],
                    language: {
                        lengthMenu: "<span style='margin-top:8px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:8px;'>Records</span>",
                        searchPlaceholder: "Search records",
                        search: "",
                    }
                });
            }
            $('input[type=search]').addClass('form-control input-sm select2');
            $("select[name='table_length']").addClass('form-control input-sm');
        }
    });
}
function status_change(id){
    var status = $("#status_"+id).val();
    if(status === 'rejected'){
        $("#reason-group_"+id).show();
        $("#spanid_"+id).hide();
    }else{
        $("#reason-group_"+id).hide();
        $("#spanid_"+id).show();
    }
}
function submitForm(row,shift_date,user_id,validation_id){
    var validation_ids = validation_id;
    var formId = 'formData_' + row;
    var form   = $('#' + formId);
    var can_process = true;
    //Check if the form is valid
    var submit   = $('#submit_' + row);
    var prime_id_arr = [];
    $('#'+formId+' *').filter("input[name='prime_id[]']").each(function () { 
        prime_id_arr.push($(this).val());
    });
    var status_arr = [];
    $('#'+formId+' *').filter("select[name='status[]']").each(function(){
        var id  = $(this).attr('id');
        if(id){
            var arr = id.split('_');       
            status_arr[arr[1]] = $(this).val();
        } 
    });
    var reason_arr = [];
    $('#'+formId+' *').filter("textarea").each(function () { 
        reason_arr.push($(this).val());
    });
    $('#'+formId+' *').filter("textarea:visible").each(function () { 
        if($(this).val() === "" || !$(this).val()){
            can_process = false;
            call_error($(this).attr('id'),"Required",true);
        }else{
             call_error($(this).attr('id'),"",false);
        }
    });
    $('#'+formId+' *').filter("select").each(function () { 
        if($(this).val() === "" || !$(this).val()){
            can_process = false;
            call_error($(this).attr('id'),"Required",true);
        }else{
            call_error($(this).attr('id'),"",false);
        }
    });

    if(can_process){
        $(submit).html("<i class='fa fa-spinner fa-spin'></i> Processing...");
        $(submit).attr('disabled','disabled');
        //Encryption
        var key     = '<?php echo $key; ?>';
        var data    = {prime_id_arr:prime_id_arr,status_arr:status_arr,reason_arr:reason_arr,row:row,shift_date:shift_date,user_id:user_id};
        var encData = encrypt(key,data);
        $.ajax({
            url   : '<?php echo site_url("$this->control_name/submitForm");?>',
            method: 'POST',
            data:encData,				
            contentType: 'text/plain',
            success: function(response) {
                $(submit).attr('disabled',false);
                $(submit).html("submit");
                var rslt = JSON.parse(response);
                if(rslt.success){
                    toastr.success(rslt.message);
                    $('#row_' + rslt.row_id).remove();
                    request_status();
                }else{
                    toastr.warning(rslt.message);
                }
                $('#status_list').DataTable().draw();
            },
            error: function(error) {
                console.error('Error submitting data:', error);
            }
        });    
    }else{
        toastr.warning('Validation error...');
    }
}
function statusAccordion(index){
    $('[id^=statusCollapse]').collapse('hide');
    $(`#statusCollapse${index}`).collapse('show');
}
//Call error for input wise
function call_error(attr_id,msg,type){
  if(type){ 
    $('#'+attr_id).addClass('error');
    $('#'+attr_id).next('span').remove();             
    $('#'+attr_id).after("<span class='"+attr_id+" error'></span>");    
    $('#'+attr_id).closest('tr').find('span.'+attr_id).text(msg);
  }else{
    $('#'+attr_id).removeClass('error');
    $('#'+attr_id).next('span').remove();     
  } 
}
</script>
<?php $this->load->view("partial/footer"); ?>