HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30
System: Linux iZj6c1151k3ad370bosnmsZ 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: root (0)
PHP: 7.4.30
Disabled: NONE
Upload Files
File: /var/www/html/inventory.breadsecret.com/view/unit/list.php
<?php
include("view/layout/meta.php");
include("view/layout/head.php");
?>
<style>
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
</style>
<div class="main-panel">
<?php
include("view/layout/headExt.php");
?>  			
   <div class="container">
      <div class=""></div>
         <div class="row">
            <div class="col-md-12">
               <div class="card">
               <div class="card-header">
                  <div class="d-flex align-items-center">
                      <h4 class="card-title"><?=L('menu.unit');?></h4>
                      <button class="btn btn-primary btn-round btn-sm ms-auto addUnitBtn">
                        <i class="fa fa-plus"></i>
                      </button>
                    </div>    
               </div>
               <div class="card-body">
                  <div class="table-responsive">
                     <table id="unitTable" class="display table table-striped table-hover dataTable">
                     <?=Controller\unit::genTableHeader();?>
                     <?=Controller\unit::genTableFooter();?>                     
                     <tbody>
                     <?php
                        $content = Controller\unit::genTableContentData();
                        foreach($content as $listObj) {
                           echo Controller\unit::genTableBodyRow($listObj);                                    
                        } 
                     ?>
                     </tbody>
                     </table>
                  </div>
               </div>
               </div>
            </div>
         </div>
      </div>
      <?php include("view/layout/foot.php"); ?>   
   </div>
   
</div>
<?php
include("view/layout/js.php");
include("view/layout/endpage.php");
?>
<script>
$(document).ready(function () {

   var myCallback = function () { 

      var table = $('.dataTable').DataTable(); // Initialize your DataTable
      var lastColumnIndex = table.columns().count() - 1; // Get the last column index
      table.columns().every(function() {
         var column = this;

         if (column.index() === lastColumnIndex) {
               return; // exits the function, being the last (and desired) column
         }
         
         var select = $('<select class="form-select"><option value=""></option></select>')
            .appendTo($(column.footer()).empty())
            .on('change', function() {

            var val = $.fn.dataTable.util.escapeRegex(
               $(this).val()
            );
            column
               .search(val ? '^' + val + '$' : '', true, false)
               .draw();
            });

         column.data().unique().sort().each(function(d, j) {
            select.append('<option value="' + d + '">' + d + '</option>')
         });
      });            
   }; 

   var unitTable = $("#unitTable").DataTable({
      pageLength: 25,
      processing: false,
      serverSide: true,
      serverMethod: 'post',
      ajax: '<?=$request->baseUrl();?>/script/unitList.php',
      "columns": [
         { data: 'column_unitID' },
         { data: 'column_unitName' },
         { data: 'column_unitStatus' },
         { data: 'column_function' },                   
      ],
      rowId: 'column_unitID', 
      initComplete: function () {
      this.api()
         .columns([0,1,2])
         .every(function () {
            var column = this;
            var select = $(
            '<select class="form-select"><option value=""></option></select>'
            )
            .appendTo($(column.footer()).empty())
            .on("change", function () {
               var val = $.fn.dataTable.util.escapeRegex($(this).val());

               column
                  .search(val ? "^" + val + "$" : "", true, false)
                  .draw();
            });

            column
            .data()
            .unique()
            .sort()
            .each(function (d, j) {
               select.append(
                  '<option value="' + d + '">' + d + "</option>"
               );
            });
         });
      },
   });
        
   $(".addUnitBtn").click(function(e){
      var button = $(e.currentTarget);
      e.preventDefault();
      ajaxFunc.apiCall("GET", "unit/formAdd", null, null,  function (form_data) { 
         if(form_data.content.success) {
            $('#msgBox').one('show.bs.modal', function (ev) {
               var modal = $(this);
               modal.find('#msgBoxLabel').html("<?=L('Add');?> <?=L('Record');?>");
               
                  modal.find('.modal-body').html(form_data.content.message);                     
                  modal.find('#msgBoxBtnPri').off('click');
                  modal.find('#msgBoxBtnPri').on('click', function (event) {  
                     if(document.getElementById("form-addUnit")!==null){    
                        var data = new FormData(document.getElementById("form-addUnit"));  
                        ajaxFunc.apiCall("POST", "unit", data, "multipart/form-data", function(return_data){
                           if(return_data.content.success) {
                              $("#msgBox").modal("hide");    
                              swal({
                                 title: return_data.content.message,
                                 text: return_data.content.message,
                                 type: "warning",
                                 buttons: {
                                    confirm: {
                                       text: "<?=L('OK');?>",
                                       className: "btn btn-success",
                                    }
                                 },
                              }).then((willOK) => {
                                 if (willOK) {
                                    unitTable.ajax.reload(myCallback, false);   
                                 } 
                              });    
                           } else {
                              $("#form-addUnit").find(".form-group").removeClass("has-error");
                              $("#form-addUnit").find(".form-group").find(".hintHelp").text("");
                              $("#form-addUnit").find("#"+return_data.content.field).closest(".form-group").addClass("has-error");
                              $("#form-addUnit").find("#"+return_data.content.field+"Help").text(return_data.content.message);
                              $("#form-addUnit").find("#"+return_data.content.field).focus();
                           }
                        });
                     }      
                  });  
                  

            }).modal('show')
         } else {
            if(form_data.content.note=="signIn") {
               showLoginNotice(form_data.content.message);
            } else {
               $('#msgBox').one('show.bs.modal', function (ev) {                 
                  var modal = $(this);
                  modal.find('#msgBoxLabel').html("<?=L('Add');?> <?=L('Record');?>");
                  modal.find('.modal-body').html(form_data.content.message);                     
                  modal.find('#msgBoxBtnPri').on('click', function (event) {  
                     $("#msgBox").modal("hide");   
                  });                               
               }).modal('show')  
            }              
         }
      });
   });
        
   $('#unitTable tbody').on('click', '.btnEdit', function (e) {
      e.preventDefault();
      var button = $(e.currentTarget);
      ajaxFunc.apiCall("GET", "unit/formEdit/"+button.data('id'), null, null,  function (form_data) { 
         if(form_data.content.success) {
            $('#msgBox').one('show.bs.modal', function (ev) {                 
               var modal = $(this);
               modal.find('#msgBoxLabel').html("<?=L('Edit');?> <?=L('Record');?>");                  
               

                  modal.find('.modal-body').html(form_data.content.message);
                  
                  modal.find('#msgBoxBtnPri').off('click');
                  modal.find('#msgBoxBtnPri').on('click', function (event) {  
                     
                     if(document.getElementById("form-editUnit")!==null){    
                        var data = new FormData(document.getElementById("form-editUnit"));  
                        ajaxFunc.apiCall("POST", "unit/"+button.data('id'), data, "multipart/form-data", function(return_data){
                           if(return_data.content.success) {
                              $("#msgBox").modal("hide");    
                              swal({
                                 title: return_data.content.message,
                                 text: return_data.content.message,
                                 type: "warning",
                                 buttons: {
                                    confirm: {
                                       text: "<?=L('OK');?>",
                                       className: "btn btn-success",
                                    }
                                 },
                              }).then((willOK) => {
                                 if (willOK) {
                                    unitTable.ajax.reload(myCallback, false);    
                                 } 
                              });    
                           } else {
                              $("#form-editUnit").find(".form-group").removeClass("has-error");
                              $("#form-editUnit").find(".form-group").find(".hintHelp").text("");
                              $("#form-editUnit").find("#"+return_data.content.field).closest(".form-group").addClass("has-error");
                              $("#form-editUnit").find("#"+return_data.content.field+"Help").text(return_data.content.message);
                              $("#form-editUnit").find("#"+return_data.content.field).focus();
                           }
                        });
                     } 
                     
                  });             
                              
            }).modal('show')
         } else {
            if(form_data.content.note=="signIn") {
               showLoginNotice(form_data.content.message);
            } else {
               $('#msgBox').one('show.bs.modal', function (ev) {                 
                  var modal = $(this);
                  modal.find('#msgBoxLabel').html("<?=L('Edit');?> <?=L('Record');?>");
                  modal.find('.modal-body').html(form_data.content.message);                     
                  modal.find('#msgBoxBtnPri').on('click', function (event) {  
                     $("#msgBox").modal("hide");   
                  });                               
               }).modal('show')     
            }               
         }
      });

   });
        
   $('#unitTable tbody').on('click', '.btnDel', function (e) {

      e.preventDefault();

      var button = $(e.currentTarget);

      swal({
         title: "<?=L('DeleteAlertTitle');?>",
         text: "<?=L('DeleteAlertMessage');?>",
         type: "warning",
         buttons: {
            confirm: {
               text: "<?=L('Y');?>",
               className: "btn btn-success",
            },                
            cancel: {
               visible: true,
               text: "<?=L('N');?>",
               className: "btn btn-danger",
            },
         },
      }).then((willDelete) => {
         if (willDelete) {

            ajaxFunc.apiCall("DELETE", "unit/"+button.data('id'), null, null, function(return_data){
               if(return_data.content.success) {
                  swal(return_data.content.message, {
                     icon: "success",
                     buttons: {
                        confirm: {
                           className: "btn btn-success",
                        },
                     },
                  }).then((willReload) => {
                     if (willReload) {
                        unitTable.ajax.reload(myCallback, false);  
                     }
                  });                          
               } else {
                  swal(return_data.content.message, {
                     icon: "error",
                     buttons: {
                        confirm: {
                           className: "btn btn-danger",
                        },
                     },
                  });                    
               }
            });
         } 
      });
      
   });

   $('#unitTable tbody').on('click', '.btnView', function (e) {
      e.preventDefault();
      var button = $(e.currentTarget);
      show_unit_detail(button.data('id'));
   });

   $('#unitTable').on('click', 'tbody tr td:not(:last-child)', function(e) {
      e.preventDefault();
      show_unit_detail($(this).parent().attr('id'));                 
   });   
   
   function show_unit_detail(unitID) {
      ajaxFunc.apiCall("GET", "unit/formView/1/"+unitID, null, null,  function (form_data) { 
         if(form_data.content.success) {
            $('#msgBox').one('show.bs.modal', function (ev) {                 
               var modal = $(this);
               modal.find('#msgBoxLabel').html("<?=L('View');?> <?=L('unit.info');?>");
               if(form_data.content.success) {
                  modal.find('.modal-body').html(form_data.content.message);                      
                  modal.find('#msgBoxBtnPri').on('click', function (event) {  
                     $("#msgBox").modal("hide");   
                  });     
               } else {
                  modal.find('.modal-body').html(form_data.content.message);
                  modal.find('#msgBoxBtnPri').on('click', function (event) {  
                     $("#msgBox").modal("hide");   
                  });                    
               }
               
               $("#form-viewUnit input").attr('disabled','disabled');
               $("#form-viewUnit select").attr('disabled','disabled');
                              
            }).modal('show')
         } else {
            if(form_data.content.note=="signIn") {
               showLoginNotice(form_data.content.message);
            } else {
               $('#msgBox').one('show.bs.modal', function (ev) {                 
                  var modal = $(this);
                  modal.find('#msgBoxLabel').html("<?=L('View');?> <?=L('unit.info');?>");
                  modal.find('.modal-body').html(form_data.content.message);                     
                  modal.find('#msgBoxBtnPri').on('click', function (event) {  
                     $("#msgBox").modal("hide");   
                  });                               
               }).modal('show')  
            }               
         }
      });
      
   }     
         
});


</script>