HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/hrms-production/resources/views/components/leave-category-modal.blade.php
{{-- Add Gender --}}
{{-- <div class="modal fade" id="addLeaveCategory">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Add Gender</h4>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <!-- Main content -->
                <form id="addLeaveCategoryForm">
                    <input type="hidden" name="_token" id="token_leave_category" value="{{ csrf_token() }}">
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="name">Gender Name<span class="text-danger">*</label>
                                    <input type="text" class="form-control form-control-sm" id="GenderName"
                                        name="GenderName" onkeyup="checkDuplicateGender(this);" required>
                                    </span><span id='CheckGender'></span>
                                </div>
                            </div>
                        </div>
                        <hr />
                        <div class="row">
                            <div class="col-12">
                                <div class="d-flex align-items-center justify-content-center">
                                    <button type="button" class="btn btn-sm btn-outline-secondary mx-1"
                                        data-dismiss="modal" aria-label="Close">Cancel</button>
                                    <button type="submit" id="btn-save-new-gender"
                                        class="btn btn-sm btn-outline-info mx-1">Save &amp; New</button>
                                    <button type="submit" id="btn-save-gender"
                                        class="btn btn-sm btn-info mx-1">Save</button>
                                </div>
                            </div>
                        </div>
                </form>
            </div>
        </div>
    </div>
    <!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal --> --}}


{{-- JS Start Here --}}

{{-- Reset Form Button --}}
<script>
    function formReset()
  { 
    Swal.fire({
            title: 'Do Want to reset form?',
            text: "Are you sure you want to reset this form!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Yes, reset it!'
        }).then(function() {
            $('form#paySlipForm').each(function() {
                    this.reset();
                });
                        });
  }
</script>

{{-- Check Availablity --}}
<script>
    function checkDuplicateLeaveCategory(element, id){
        var id = id;
        var LeaveCategory = $(element).val();
        if (LeaveCategory == "") {
            $('span#CheckLeaveCategory, #editCheckLeaveCategory').css("display", "none");
        } else {
            $('span#CheckLeaveCategory, #editCheckLeaveCategory').css("display", "block");
        }
        //alert (LeaveCategory);
        $.ajax({
            type: "GET",
            url: '{{ url("/") }}/check-leave-category/',
            data: {LeaveCategory:LeaveCategory, id:id},
            dataType: "json",
            success: function(res) {
                if(res.exists){
                    $('span#CheckLeaveCategory, span#editCheckLeaveCategory').html('<span class="text-danger">Category name is already exist!</span>');
                    $('#btn-save-new-appcate, #btn-save-appcate, #btn-update-appcate').attr('disabled', true);
                } else {
                    $('span#CheckLeaveCategory, span#editCheckLeaveCategory').html('<span class="text-success">Category name is available!</span>');
                    $('#btn-save-new-appcate, #btn-save-appcate, #btn-update-appcate').attr('disabled', false);
                }
            },
            error: function (jqXHR, exception) {
            }
        });
    }
</script>

{{-- Store Leave Category --}}
<script>
    var reload = 0;
    $(function () {
      $.validator.setDefaults({
        submitHandler: function () {
            saveLeaveCategoryRecord();
        }
      });
      // Reload page after data save 
      $('#btn-save-appcate').click(function(){
        reload = 1;
      });

      // Validate Fields
      $('#addLeaveCategoryForm').validate({
        rules: {
            LeaveCategoryName: {
            required: true,
          },
        },
        messages: {
          LeaveCategoryName: {
            required: "Please enter the category name",
          },
        },
        errorElement: 'span',
        errorPlacement: function (error, element) {
          error.addClass('invalid-feedback');
          element.closest('.form-group').append(error);
        },
        highlight: function (element, errorClass, validClass) {
          $(element).addClass('is-invalid');
        },
        unhighlight: function (element, errorClass, validClass) {
          $(element).removeClass('is-invalid');
        }
      });
    });
</script>

{{-- Save Data Function --}}
<script>
    function saveLeaveCategoryRecord() {
        event.preventDefault();
        $.ajax({
            type: "post",
            url: "{{ url('store-leave-category') }}",
            dataType: "json",
            data: $('form#addLeaveCategoryForm').serialize(),
            success: function(response) {
                const Toast = Swal.mixin({
                      toast: true,
                      position: 'top-end',
                      showConfirmButton: false,
                      timer: 2000,
                      timerProgressBar: true,
                      didOpen: (toast) => {
                        toast.addEventListener('mouseenter', Swal.stopTimer)
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
                      }
                    })
                    Toast.fire({
                      icon: 'success',
                      title: 'Category added successfully!'
                    });
                $('form#addLeaveCategoryForm').each(function() {
                    this.reset();
                });
                //$('span#CheckLeaveCategory').html('');

                if(reload)
                {
                    location.reload();
                }
            },
            error: function(response) {
                const Toast = Swal.mixin({
                      toast: true,
                      position: 'top-end',
                      showConfirmButton: false,
                      timer: 3000,
                      timerProgressBar: true,
                      didOpen: (toast) => {
                        toast.addEventListener('mouseenter', Swal.stopTimer)
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
                      }
                    })
                    Toast.fire({
                      icon: 'error',
                      title: 'Sorry, Something went wrong!'
                    })
            }
        });
    }
</script>
{{-- Activate / De-Activate --}}
<script>
    // Activate
    function activateLeaveCategory(LeaveCategoryId) {
        var LeaveCategoryId = LeaveCategoryId;
        Swal.fire({
            title: 'Activate Category?',
            text: "Are you sure you want to activate Category!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Yes, activate it!'
        }).then((result) => {
            if (result.isConfirmed) {
                $.ajax({
                    type: "get",
                    url: "{{ url('/') }}/change-status-leave-category/" + LeaveCategoryId,
                    success: function(response) {
                        Swal.fire({
                            icon: 'success',
                            title: 'Category has been activated!',
                            showConfirmButton: false,
                            timer: 1500
                        }).then(function() {
                            location.reload();
                        });
                    }
                });
            }
        });
    }
    // Deactivate
    function deactivateLeaveCategory(LeaveCategoryId) {
        var LeaveCategoryId = LeaveCategoryId;
        Swal.fire({
            title: 'De-activate Category?',
            text: "Are you sure you want to De-activate Category!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Yes, De-activate it!'
        }).then((result) => {
            if (result.isConfirmed) {
                $.ajax({
                    type: "get",
                    url: "{{ url('/') }}/change-status-leave-category/" + LeaveCategoryId,
                    success: function(response) {
                        Swal.fire({
                            icon: 'success',
                            title: 'Category has been De-activated!',
                            showConfirmButton: false,
                            timer: 1500
                        }).then(function() {
                            location.reload();
                        });
                    }
                });
            }
        });
    }
</script>
{{-- Edit Leave Category --}}
<script>
    function editLeaveCategory(LeaveCategoryId)
  {
      var LeaveCategoryId = LeaveCategoryId;
      $('#updateLeaveCategory').modal('show');
      $.ajax({
          type: "GET",
          url: "{{ url('/') }}/edit-leave-category/" +LeaveCategoryId,
          success: function (response) {
              $('#editLeaveCategoryName').val(response.LeaveCategory.LeaveCategoryName);
              $('#LeaveCategoryId').val(LeaveCategoryId);
              $('span#LeaveCategoryName').html('#' +response.LeaveCategory.LeaveCategoryName);
          }
      });
  }
</script>

{{-- Update Leave Category --}}
<script>
    $("#btn-update-appcate").click(function (event) {
    event.preventDefault();
    var Name = $("#editLeaveCategoryName").val();
    if (Name == "") {
        Swal.fire({
            icon: "warning",
            title: "Name is required!",
            showConfirmButton: false,
            timer: 2000,
        });
    } else {
        $.ajax({
            type: "post",
            url: "{{ url('update-leave-category') }}",
            dataType: "json",
            data: $("form#updateLeaveCategoryform").serialize(),
            success: function (response) {
                Swal.fire({
                    icon: "success",
                    title: "Category has been updated!",
                    showConfirmButton: false,
                    timer: 2000,
                }).then(function () {
                    location.reload();
                });
            },
            error: function (response) {
                Swal.fire({
                    icon: "error",
                    title: "Some thing went wrong!",
                    showConfirmButton: false,
                    timer: 2000,
                });
            },
        });
    }
    });

</script>

{{-- Delete Leave Category --}}
<script>
    //Delete Leave Category
    function deleteLeaveCategory(LeaveCategoryId) {
    var LeaveCategoryId = LeaveCategoryId;
    $.ajax({
        type: "GET",
        url: "{{ url('/') }}/check-employee-leave-category/" + LeaveCategoryId,
        success: function (response) {
            if (response.exists) {
                Swal.fire({
                    icon: "warning",
                    title: "Can't be deleted!",
                    text: "This Category is associated with empolyee(s)!",
                    showConfirmButton: true,
                });
            } else {
                Swal.fire({
                    title: "Delete Category?",
                    text: "Are you sure you want to delete this Category?",
                    icon: "warning",
                    showCancelButton: true,
                    confirmButtonColor: "#3085d6",
                    cancelButtonColor: "#d33",
                    confirmButtonText: "Yes, delete it!",
                }).then((result) => {
                    if (result.isConfirmed) {
                        $.ajax({
                            type: "get",
                            url:
                                "{{ url('/') }}/delete-leave-category/" +
                                LeaveCategoryId,
                            success: function (response) {
                                Swal.fire({
                                    icon: "success",
                                    title: "Category has been deleted!",
                                    showConfirmButton: false,
                                    timer: 1500,
                                }).then(function () {
                                    location.reload();
                                });
                            },
                        });
                    }
                });
            }
        },
    });
    }

</script>