171 lines
7.2 KiB
PHP
171 lines
7.2 KiB
PHP
@extends('layout.app')
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script>
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
|
|
|
@section('left-menu')
|
|
@parent
|
|
<ul>
|
|
<a href="/strazacy"><li>Strażacy<img src="/img/left_menu_icon/more.png"></li></a>
|
|
<a href="/szkolenia"><li><font size="-2">Badania/Szkolenia</font><img src="/img/left_menu_icon/more.png"></li></a>
|
|
</ul>
|
|
@stop
|
|
|
|
|
|
@section('center-area')
|
|
@parent
|
|
|
|
@if( auth()->check())
|
|
@if( auth()->user()->fireStationID == NULL)
|
|
Jednostka nie istnieje
|
|
@else
|
|
<center><h1>{{$training->trainingName}}</h1></center>
|
|
<table id="editableTable" class='table'>
|
|
|
|
<thead>
|
|
<th>Imię i Nazwisko</th>
|
|
<th>Ważne od:</th>
|
|
<th>Ważne do:</th>
|
|
<th>Akcje</th>
|
|
</thead>
|
|
|
|
<tbody>
|
|
@foreach($fireFighters as $fireFighter)
|
|
<tr id="{{$fireFighter->userID}}">
|
|
<td>{{$fireFighter->name}} {{$fireFighter->surname}}</td>
|
|
<td>{{$fireFighter->dateOfComplete}}</td>
|
|
<td>{{$fireFighter->dateOfExpiry}}</td>
|
|
<td>
|
|
<button class="btn btn-warning" type="submit" style="display:none" id="{{$fireFighter->userID}}" onclick="cancelButton('{{$fireFighter->userID}}', '{{$fireFighter->dateOfComplete}}', '{{$fireFighter->dateOfExpiry}}')">Anuluj</button>
|
|
<button class="btn btn-success" type="submit" style="display:none" id="{{$fireFighter->userID}}" onclick="updateButton('{{$fireFighter->userID}}', '{{$fireFighter->dateOfComplete}}', '{{$fireFighter->dateOfExpiry}}')">Zapisz</button>
|
|
<button class="btn btn-secondary" type="submit" id="{{$fireFighter->userID}}" onclick="editButton('{{$fireFighter->userID}}')">Edytuj</button>
|
|
<button class="btn btn-danger btn-delete" type="submit" id="{{$fireFighter->userID}}" onclick="deleteButton('{{$fireFighter->userID}}')">Usuń</button></td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
{{ $fireFighters->links() }}
|
|
|
|
@endif
|
|
@else
|
|
Brak autoryzacji
|
|
@endif
|
|
|
|
@stop
|
|
|
|
<script type="text/javascript">
|
|
|
|
function editButton(firefighterID){
|
|
$('.btn-secondary', '#'+firefighterID).css('display', 'none');
|
|
$('.btn-warning', '#'+firefighterID).css('display', 'inline');
|
|
$('.btn-success', '#'+firefighterID).css('display', 'inline');
|
|
$('.btn-secondary', '#'+firefighterID).parents("tr").find("td:eq(1)").html('<input type="date" name="dateOfComplete">');
|
|
$('.btn-secondary', '#'+firefighterID).parents("tr").find("td:eq(2)").html('<input type="date" name="dateOfExpiry">');
|
|
}
|
|
|
|
|
|
function cancelButton(firefighterID, dateOfComplete, dateOfExpiry){
|
|
$('.btn-secondary', '#'+firefighterID).css('display', 'inline');
|
|
$('.btn-warning', '#'+firefighterID).css('display', 'none');
|
|
$('.btn-success', '#'+firefighterID).css('display', 'none');
|
|
|
|
$('.btn-secondary', '#'+firefighterID).parents("tr").find("td:eq(1)").html(dateOfComplete);
|
|
$('.btn-secondary', '#'+firefighterID).parents("tr").find("td:eq(2)").html(dateOfExpiry);
|
|
}
|
|
|
|
function updateButton(firefighterID, dateOfComplete, dateOfExpiry){
|
|
$.ajaxSetup({
|
|
headers: {
|
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
|
}
|
|
});
|
|
|
|
|
|
$.ajax({
|
|
type: 'post',
|
|
url: '/szkolenia/addTrainingsFireFighters',
|
|
data: {
|
|
'firefighterID': firefighterID,
|
|
'trainingID': '{{$training->id}}',
|
|
'dateOfComplete': $('input[name=dateOfComplete]').val(),
|
|
'dateOfExpiry': $('input[name=dateOfExpiry]').val()
|
|
},
|
|
success: function(data) {
|
|
$('.btn-secondary', '#'+firefighterID).parents("tr").find("td:eq(1)").html($('input[name=dateOfComplete]').val());
|
|
$('.btn-secondary', '#'+firefighterID).parents("tr").find("td:eq(2)").html($('input[name=dateOfExpiry]').val());
|
|
|
|
$('.btn-secondary', '#'+firefighterID).css('display', 'inline');
|
|
$('.btn-warning', '#'+firefighterID).css('display', 'none');
|
|
$('.btn-success', '#'+firefighterID).css('display', 'none');
|
|
console.log('sukces')
|
|
},
|
|
error: function(jqXhr, json, errorThrown){// this are default for ajax errors
|
|
var errors = jqXhr.responseJSON;
|
|
var errorsHtml = '';
|
|
$.each(errors['errors'], function (index, value) {
|
|
errorsHtml += '<ul class="list-group"><li class="list-group-item alert alert-danger">' + value + '</li></ul>';
|
|
});
|
|
//I use SweetAlert2 for this
|
|
swal.fire({
|
|
title: "Error " + jqXhr.status + ': ' + errorThrown,// this will output "Error 422: Unprocessable Entity"
|
|
html: errorsHtml,
|
|
width: 'auto',
|
|
confirmButtonText: 'Spróbuj ponownie',
|
|
cancelButtonText: 'Anuluj Edycję',
|
|
showCancelButton: true,
|
|
}).then((result) => {
|
|
if(result.value){
|
|
console.log('spróbuj')
|
|
} else if(result.dismiss === Swal.DismissReason.cancel){
|
|
console.log('anuluj');
|
|
cancelButton(firefighterID, dateOfComplete, dateOfExpiry);
|
|
}
|
|
})
|
|
},
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
function deleteButton(firefighterID){
|
|
swal.fire({
|
|
title: "Czy chcesz wyczyścić?",
|
|
width: 'auto',
|
|
confirmButtonText: 'Tak',
|
|
cancelButtonText: 'Nie',
|
|
showCancelButton: true,
|
|
}).then((result) => {
|
|
if(result.value){
|
|
|
|
$.ajaxSetup({
|
|
headers: {
|
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
|
}
|
|
});
|
|
|
|
$.ajax({
|
|
type: 'post',
|
|
url: '/szkolenia/addTrainingsFireFighters/delete',
|
|
data: {
|
|
'firefighterID': firefighterID,
|
|
'trainingID': '{{$training->id}}',
|
|
},
|
|
success: function(data) {
|
|
$('.btn-secondary', '#'+firefighterID).parents("tr").find("td:eq(1)").html('');
|
|
$('.btn-secondary', '#'+firefighterID).parents("tr").find("td:eq(2)").html('');
|
|
$('.btn-secondary', '#'+firefighterID).css('display', 'inline');
|
|
$('.btn-warning', '#'+firefighterID).css('display', 'none');
|
|
$('.btn-success', '#'+firefighterID).css('display', 'none');
|
|
|
|
|
|
}
|
|
});
|
|
}
|
|
})
|
|
|
|
}
|
|
</script>
|