File: /var/www/html/hrms-production/resources/views/components/actual-work-place-modal.blade.php
{{-- Add Actual Work Place --}}
<div class="modal fade" id="addAWP">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Add Actual Work Place</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<!-- Main content -->
<form id="addAWPform">
<input type="hidden" name="_token" id="token_awp" 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">Place Name<span class="text-danger">*</label>
<input type="text" class="form-control form-control-sm" id="ActualWorkPlace"
name="ActualWorkPlaceName" onkeyup="checkDuplicateAWP(this);" required>
</span><span id='CheckActualWorkPlace'></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-awp"
class="btn btn-sm btn-outline-info mx-1">Save & New</button>
<button type="submit" id="btn-save-awp" class="btn btn-sm btn-info mx-1">Save</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
{{-- Update Actual Work Place --}}
<div class="modal fade" id="updateAWP">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Actual Work Place <span id="AWPName" class="text-info"></span></h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<!-- Main content -->
<form id="updateAWPform">
<input type="hidden" name="_token" id="token_awp_update" value="{{ csrf_token() }}">
<input type="hidden" id="ActualWorkPlaceId" name="ActualWorkPlaceId">
<div class="card-body">
<div class="row">
<div class="col-md-12">
<div class="form-group mb-2">
<label class="mb-0" for="name">Place Name<span class="text-danger">*</span></label>
<input type="text" class="form-control form-control-sm" id="editActualWorkPlaceName"
name="ActualWorkPlaceName" onkeyup="checkDuplicateAWP(this);" required>
<span id='editActualWorkPlace'></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="button" id="btn-update-awp" name="Update" value="Update"
class="btn btn-sm btn-info mx-1" disabled>Update</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->
{{-- JS Start Here --}}
{{-- Check Availablity --}}
<script>
function checkDuplicateAWP(element, id){
var id = id;
var ActualWorkPlace = $(element).val();
if (ActualWorkPlace == "") {
$('span#CheckActualWorkPlace, #editActualWorkPlace').css("display", "none");
} else {
$('span#CheckActualWorkPlace, #editActualWorkPlace').css("display", "block");
}
//alert (ActualWorkPlace);
$.ajax({
type: "GET",
url: '{{ url("/") }}/check-awp/',
data: {ActualWorkPlace:ActualWorkPlace, id:id},
dataType: "json",
success: function(res) {
if(res.exists){
$('span#CheckActualWorkPlace, span#editActualWorkPlace').html('<span class="text-danger">Work Place name is already exist!</success>');
$('#btn-save-new-awp, #btn-save-awp, #btn-update-awp').attr('disabled', true);
} else {
$('span#CheckActualWorkPlace, span#editActualWorkPlace').html('<span class="text-success">Work Place name is available!</success>');
$('#btn-save-new-awp, #btn-save-awp, #btn-update-awp').attr('disabled', false);
}
},
error: function (jqXHR, exception) {
}
});
}
</script>
{{-- Store Actual Work Place --}}
<script>
var reload = 0;
$(function () {
$.validator.setDefaults({
submitHandler: function () {
saveAWP();
}
});
// Reload page after data save
$('#btn-save-awp').click(function(){
reload = 1;
});
// Validate Fields
$('#addAWPform').validate({
rules: {
ActualWorkPlaceName: {
required: true,
},
},
messages: {
ActualWorkPlaceName: {
required: "Please enter the work place 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 Record Function --}}
<script>
function saveAWP() {
event.preventDefault();
var Name = $("#name").val();
if(Name == "") {
Swal.fire({
icon: 'warning',
title: 'Name is required!',
showConfirmButton: false,
timer: 2000
});
} else {
$.ajax({
type: "post",
url: "{{ url('store-awp') }}",
dataType: "json",
data: $('form#addAWPform').serialize(),
success: 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: 'success',
title: 'Work Place added successfully!'
});
$('form#addAWPform').each(function() {
this.reset();
});
$('span#CheckActualWorkPlace').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: 'Something went wrong!'
})
}
});
}
}
</script>
{{-- Activate / De-Activate --}}
<script>
// Activate
function activateAWP(ActualWorkPlaceId) {
var ActualWorkPlaceId = ActualWorkPlaceId;
Swal.fire({
title: 'Activate Work Place?',
text: "Are you sure you want to activate Work Place!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, activate it!'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "get",
url: "{{ url('/') }}/change-status-awp/" + ActualWorkPlaceId,
success: function(response) {
Swal.fire({
icon: 'success',
title: 'Work Place has been activated!',
showConfirmButton: false,
timer: 1500
}).then(function() {
location.reload();
});
}
});
}
});
}
// Deactivate
function deactivateAWP(ActualWorkPlaceId) {
var ActualWorkPlaceId = ActualWorkPlaceId;
Swal.fire({
title: 'De-activate Work Place?',
text: "Are you sure you want to De-activate Work Place!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, activate it!'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "get",
url: "{{ url('/') }}/change-status-awp/" + ActualWorkPlaceId,
success: function(response) {
Swal.fire({
icon: 'success',
title: 'Work Place has been De-activated!',
showConfirmButton: false,
timer: 1500
}).then(function() {
location.reload();
});
}
});
}
});
}
</script>
{{-- Edit Actual Work Place --}}
<script>
function editAWP(ActualWorkPlaceId)
{
var ActualWorkPlaceId = ActualWorkPlaceId;
$('#updateAWP').modal('show');
$.ajax({
type: "GET",
url: "{{ url('/') }}/edit-awp/" +ActualWorkPlaceId,
success: function (response) {
$('#editActualWorkPlaceName').val(response.ActualWorkPlace.ActualWorkPlaceName);
$('#ActualWorkPlaceId').val(ActualWorkPlaceId);
$('span#AWPName').html('#' +response.ActualWorkPlace.ActualWorkPlaceName);
}
});
}
</script>
{{-- Update Actual Work Place --}}
<script>
$("#btn-update-awp").click(function (event) {
event.preventDefault();
var Name = $("#editActualWorkPlaceName").val();
if (Name == "") {
Swal.fire({
icon: "warning",
title: "Name is required!",
showConfirmButton: false,
timer: 2000,
});
} else {
$.ajax({
type: "post",
url: "{{ url('update-awp') }}",
dataType: "json",
data: $("form#updateAWPform").serialize(),
success: function (response) {
Swal.fire({
icon: "success",
title: "Work Place 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 Actual Work Place --}}
<script>
//Delete Actual Work Place
function deleteAWP(ActualWorkPlaceId) {
var ActualWorkPlaceId = ActualWorkPlaceId;
$.ajax({
type: "GET",
url: "{{ url('/') }}/check-employee-awp/" + ActualWorkPlaceId,
success: function (response) {
if (response.exists) {
Swal.fire({
icon: "warning",
title: "Can't be deleted!",
text: "This Work Place is associated with empolyee(s)!",
showConfirmButton: true,
});
} else {
Swal.fire({
title: "Delete Work Place?",
text: "Are you sure you want to delete this Work Place?",
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "Yes, delete it!",
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "get",
url:
"{{ url('/') }}/delete-awp/" +
ActualWorkPlaceId,
success: function (response) {
Swal.fire({
icon: "success",
title: "Work Place has been deleted!",
showConfirmButton: false,
timer: 1500,
}).then(function () {
location.reload();
});
},
});
}
});
}
},
});
}
</script>