IMMREX7
@extends('schools.school_layout')
@section('content')
<div class="row clearfix">
<div class="col-sm-12">
<div class="card">
<div class="header">
<h2><strong>Leave Master</strong></h2>
</div>
<div class="body">
@if(isset($leave))
{!! Form::model($leave, ['method' => 'PATCH', 'action' => ['School\LeaveController@update', $leave->idLeave], 'class' => 'form-horizontal','files'=>true]) !!}
@else
{!! Form::open(['url' => 'school/leaves', 'class' => 'form-horizontal','id'=>'form','files'=>true]) !!}
@endif
<div class="row clearfix">
<div class="col-sm-2 form-control-label required">
<label for="classname">Department</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::select('idDepartment',$departments,null,['class' => 'form-control show-tick ms select2']) !!}
@if ($errors->has('idDepartment'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('idDepartment') }}</strong>
</label>
@endif
<span id='depterror'></span>
</div>
</div>
<div class="col-sm-2 form-control-label">
<label for="classname" class="required">Designation</label>
</div>
<div class="col-sm-3">
<div class="form-group">
@if(isset($leave))
{!! Form::select('idDesignation',$designations,null,['class' => 'form-control show-tick ms','id'=>'idDesignation']) !!}
@else
<div id="idDesignation" style="border:1px solid #ccc; width:200px; height: 110px; overflow-y: scroll;">
</div>
@endif
@if ($errors->has('idDesignation'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('idDesignation') }}</strong>
</label>
@endif
<span id='desigerror'></span>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-2 form-control-label">
<label for="classname">EC No.</label>
</div>
<div class="col-sm-3">
<div class="form-group">
@if(isset($leave))
{!! Form::select('idEmployee',$employees,null,['class' => 'form-control show-tick ms']) !!}
@else
<span style="color:red; font-size: 12px;">Please don't select this list if you want to assign a shift on whole department or designation.</span>
<div id="idEmployee" style="border:1px solid #ccc; width:250px; height: 140px; overflow-y: scroll;">
</div>
@if ($errors->has('ecNO'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('ecNO') }}</strong>
</label>
@endif
@endif
</div>
</div>
<div class="col-sm-2 form-control-label required">
<label for="classname">Paid Leave Days</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::text('paidLeaves',null,['class' => 'form-control','placeholder'=>'eg:2,5,10','minlength'=>'1','maxlength'=>'2','onkeypress'=>'return isNumber(event)']) !!}
@if ($errors->has('paidLeaves'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('paidLeaves') }}</strong>
</label>
@endif
<span id='leaveerror'></span>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-2 form-control-label">
<label for="classname">Leave Type</label>
</div>
<div class="col-sm-3">
{!! Form::select('leaveType',['monthly' => 'Monthly','yearly' => 'Yearly'],null,['class' => 'form-control show-tick ms']) !!}
</div>
<div class="col-sm-2 form-control-label">
<label for="classname">Max Allowed Per Month</label>
</div>
<div class="col-sm-3">
{!! Form::number('max_allowed',null,['class' => 'form-control']) !!}
</div>
</div>
<div class="row clearfix" style="margin-top:1rem;">
<div class="col-sm-2 form-control-label">
<label for="classname">Excluding Month</label>
</div>
<div class="col-sm-3">
@php $months = [];
if(isset($leave)){
if(isset($leave->exclude_month))
$months = \App\Month::whereIn('idMonth',json_decode($leave->exclude_month,true))->get()->pluck('idMonth')->toArray();
}@endphp
<select class="selectpicker form-control" multiple name="exclude_month[]"><option value="" disabled>--Select Month---</option><option value="1" @if(isset($leave)) @if(in_array("1", $months)) selected @endif @endif>January</option><option value="2" @if(isset($leave)) @if(in_array("2", $months)) selected @endif @endif>February</option><option value="3" @if(isset($leave)) @if(in_array("3", $months)) selected @endif @endif>March</option><option value="4" @if(isset($leave)) @if(in_array("4", $months)) selected @endif @endif>April</option><option value="5" @if(isset($leave)) @if(in_array("5", $months)) selected @endif @endif>May</option><option value="6" @if(isset($leave)) @if(in_array("6", $months)) selected @endif @endif>June</option><option value="7" @if(isset($leave)) @if(in_array("7", $months)) selected @endif @endif>July</option><option value="8" @if(isset($leave)) @if(in_array("8", $months)) selected @endif @endif>August</option><option value="9" @if(isset($leave)) @if(in_array("9", $months)) selected @endif @endif>September</option><option value="10" @if(isset($leave)) @if(in_array("10", $months)) selected @endif @endif>October</option><option value="11" @if(isset($leave)) @if(in_array("11", $months)) selected @endif @endif>November</option><option value="12" @if(isset($leave)) @if(in_array("12", $months)) selected @endif @endif>December</option></select>
</div>
<div class="col-sm-2 form-control-label">
<label for="classname">Mark Holiday On Leave, If</label>
</div>
<div class="col-sm-3">
<select class="selectpicker form-control" name="sandwich"><option value="0">--Select Pattern---</option><option value="1" @if(isset($leave)) @if($leave->sandwich == 1) selected @endif @endif>If Absent Before & After</option><option value="2" @if(isset($leave)) @if($leave->sandwich == 2) selected @endif @endif>If Absent Before/After</option></select>
</div>
</div>
<div class="row clearfix" style="margin-top:1rem;">
<div class="col-sm-2 form-control-label">
<label for="classname">Leave Allocated</label>
</div>
<div class="col-sm-6">
<input type="radio" id="auto" name="leave_allocation" value="A" @if(isset($leave)) @if($leave->leave_allocation == 'A') checked @endif @endif>
<label for="auto">Auto</label><br>
<input type="radio" id="manual" name="leave_allocation" value="M" @if(isset($leave)) @if($leave->leave_allocation == 'M') checked @endif @endif>
<label for="manual">Manual</label><br>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-8 offset-sm-2">
@if(isset($leave))
{!! Form::submit('UPDATE',['class' => 'btn btn-raised btn-primary btn-round waves-effect']) !!}
@else
{!! Form::submit('SAVE',['class' => 'btn btn-raised btn-primary btn-round waves-effect','id'=>'submit-btn']) !!}
@endif
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-12">
<div class="card">
<div class="header">
<h2><strong>Leaves</strong></h2>
</div>
<div class="body table-responsive">
{!! Form::open(['method' => 'GET', 'action' => ['School\LeaveController@index'], 'class' => 'form-horizontal']) !!}
<div class="row clearfix">
<div class="col-sm-2"></div>
<div class="col-sm-2 form-control-label">
<label for="classname">Financial Year</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::select('idFinancialYear',fys(),null,['class' => 'form-control show-tick ms']) !!}
</div>
</div>
<div class="col-sm-2">
{!! Form::submit('Search',['class' => 'btn btn-raised btn-primary btn-round waves-effect']) !!}
</div>
</div>
{!! Form::close() !!}
<br>
<table class="table table-bordered table-striped table-hover js-basic-example dataTable">
<thead>
<tr>
<th>S. No.</th>
<th>Department</th>
<th>Designation</th>
<th>Ec No.</th>
<th>Paid Leave Days</th>
<th>Leave Type</th>
<th>Max Allowed</th>
<th>Excluding (Month)</th>
<th>Policy</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php $i = 1; ?>
@foreach($leaves as $value)
<tr>
<th scope="row">{{$i}}</th>
@if(isset($value->department))
<td>{{$value->department->departmentName}}</td>
@else<td></td>
@endif
@if(isset($value->designation))
<td>{{$value->designation->designationName}}</td>
@else<td></td>
@endif
<td>{{$value->employee->enrollmentNo or ''}}</td>
<td>{{$value->paidLeaves}}</td>
@if(isset($value->leaveType))
<td>{{strtoupper($value->leaveType)}}</td>
@else<td></td>
@endif
<td>@if($value->max_allowed > 0){{$value->max_allowed}} @else Not Applicable @endif</td>
@if(isset($value->exclude_month))
@php
$month = \App\Month::whereIn('idMonth',json_decode($value->exclude_month,true))->get();
@endphp
<td>
@foreach ( $month as $var)
{{$var->monthName}},
@endforeach
</td>
@else<td>Not Applicable</td>
@endif
<td> Mark Holiday On Leave, If : @if($value->sandwich == 0) Not Applicable @else @if($value->sandwich == 1) If Absent Befor & After @else If Absent Before/After @endif @endif<br>
Leave Allocated : @if($value->leave_allocation == 'N') Not Applicable @else @if($value->leave_allocation == 'A') Auto @else Manual @endif @endif
</td>
<td>
<a href="{{ url('school/leaves/' . $value->idLeave . '/edit') }}" class="btn btn-raised btn-info waves-effect btn-round">Edit </a>
<button class="btn btn-raised btn-danger waves-effect btn-round js-sweetalert" data-id="{{$value->idLeave}}" data-type="confirm">DELETE</button>
</td>
</tr>
<?php $i++; ?>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
@stop
@section('script')
<script>
// Delete Feehead
$(document).on('click', '.js-sweetalert', function (e) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
e.preventDefault();
var id = $(this).data('id');
swal({
title: "Are you sure?",
text: "Are You sure you want to delete this Leave Master!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: true
},
function() {
// console.log('here');
$.ajax({
type: "DELETE",
url: "{{url('/school/leaves/')}}" +"/"+id,
data: {id:id}
})
.done(function(data) {
swal({
title: "Deleted",
text: "Leave Master has been successfully deleted",
type: "success"
},function() {
location.reload();
});
})
.error(function(data) {
swal("Oops", "We couldn't connect to the server!", "error");
});
return false;
});
});
$(document).ready(function() {
$('select[name="idDepartment"]').on('change', function() {
var departmentID = $(this).val();
if(departmentID) {
$.ajax({
url: "{{url('/school/departments') }}"+'/' +departmentID + "/designations",
type: "GET",
dataType: "json",
success:function(data) {
$('#idDesignation').empty();
$('#idDesignation').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><label style="margin-right:42px;"><strong>Select All</label></strong><input type="checkbox" class="select-all" id="selectall"></div>');
$.each(data, function(key, value) {
$('#idDesignation').append('<div class="checkbox-inline" style="padding-left:10px;"><label style="margin-right:100px;">'+value+'</label><input type="checkbox" name="designations[]" value="'+key+'" class="designationclass"></div>');
});
}
});
}else{
$('select[name="idDesignation"]').empty();
}
});
});
$(document).on('click', '.select-all', function(){
var checkAll = this.checked;
if(checkAll === true){
$('input[type=checkbox]').each(function () {
this.checked = checkAll;
});
var designationIds = [];
$("input:checkbox[name='designations[]']:checked").each(function () {
designationIds.push($(this).val());
});
if (designationIds.length > 0) {
$.ajax({
url: "{{url('/school/designations') }}"+'/' +designationIds + "/employees",
type: "GET",
dataType: "json",
success:function(data) {
$('#idEmployee').empty();
$('#idEmployee').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><label style="margin-right:42px;"><strong>Select All</label></strong><input type="checkbox" class="select-allstd" id="selectallstd"></div>');
$.each(data, function(key, value) {
$('#idEmployee').append('<div class="checkbox-inline" style="padding-left:10px;"><label style="margin-right:50px;">'+value+'</label><input type="checkbox" name="employees[]" value="'+key+'" class="empallselect"></div>');
});
}
});
}
}else{
$('#idEmployee').empty();
$('input[type=checkbox]').each(function () {
this.checked = checkAll;
});
}
});
$(document).on('click', '.designationclass', function(){
var designationIds = [];
$("input:checkbox[name='designations[]']:checked").each(function () {
designationIds.push($(this).val());
});
if (designationIds.length > 0) {
$.ajax({
url: "{{url('/school/designations') }}"+'/' +designationIds + "/employees",
type: "GET",
dataType: "json",
success:function(data) {
$('#idEmployee').empty();
$('#idEmployee').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><label style="margin-right:42px;"><strong>Select All</label></strong><input type="checkbox" class="select-allstd" id="selectallstd"></div>');
$.each(data, function(key, value) {
$('#idEmployee').append('<div class="checkbox-inline" style="padding-left:10px;"><label style="margin-right:50px;">'+value+'</label><input type="checkbox" name="employees[]" value="'+key+'" class="empallselect"></div>');
});
}
});
}else{
$('#idEmployee').empty();
}
});
$(document).on('click', '.select-allstd', function(){
var checkAllstd = this.checked;
if(checkAllstd === true){
$("input:checkbox[name='employees[]']").each(function () {
this.checked = checkAllstd;
});
}else{
$('.empallselect').each(function () {
this.checked = checkAllstd;
});
}
});
// Saving form data
$('#form').on('submit',function(e){
$.ajaxSetup({
header:$('meta[name="_token"]').attr('content')
});
var formData = new FormData($('#form')[0]);
$("#submit-btn").prop('disabled', true);
$.ajax({
type:"POST",
url: "{{url('school/leaves') }}",
processData: false,
contentType: false,
data:formData,
dataType: 'json',
success:function(data){
if( data[Object.keys(data)[0]] === 'SUCCESS' ){
$("#submit-btn").prop('disabled', true);
window.location = "{{url('school/leaves')}}";
}
else { //False Case: With error msg
$("#msg").html(data); //$msg is the id of empty msg
}
},
error: function(data){
if( data.status === 422 ) {
$("#submit-btn").prop('disabled', false);
var errors = data.responseJSON.errors;
var errorHtml = '<div class="alert alert-danger"><ul>';
$('#formerrors').html(errorHtml);
if(errors['idDepartment']=== undefined){
$( '#depterror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['idDepartment']+'</strong></span>';
$( '#depterror' ).html( errorname );
}
if(errors['idDesignation']=== undefined){
$( '#desigerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['idDesignation']+'</strong></span>';
$( '#desigerror' ).html( errorname );
}
if(errors['paidLeaves']=== undefined){
$( '#leaveerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['paidLeaves']+'</strong></span>';
$( '#leaveerror' ).html( errorname );
}
}
}
});
return false;
});
</script>
@stop
Copyright © 2021 -