{% extends 'base.html.twig' %}
{% block title %}Fiches d'appel | {{ parent() }}{% endblock %}
{% block body %}
<div class="breadcrumb">
<h1 class="mr-2">Fiches d'appel</h1>
<ul>
<li><a href="{{ path('default') }}">Accueil</a></li>
<li><a href="{{ path('school_teacher_call_sheet_index') }}">Retour</a></li>
<li>{{ school_teacher_call_sheet.schoolTeacher ? school_teacher_call_sheet.schoolTeacher.name : '' }}</li>
<li>{{ school_teacher_call_sheet.settingClassroom ? school_teacher_call_sheet.settingClassroom.label : '' }}</li>
<li>{{ school_teacher_call_sheet.schoolMatter ? school_teacher_call_sheet.schoolMatter.label : '' }}</li>
<li>{{ school_teacher_call_sheet.day }}</li>
<li>{{ school_teacher_call_sheet.settingTimeTable ? school_teacher_call_sheet.settingTimeTable.label : '' }}</li>
<li>{{ school_teacher_call_sheet.createdAt ? school_teacher_call_sheet.createdAt|date('d/m/Y H:i:s') : '' }}</li>
</ul>
</div>
<div class="separator-breadcrumb border-top"></div>
<div class="row mb-4">
<div class="col-md-12">
{% if school_teacher_call_sheet.rejectionReason %}
<div class="alert alert-danger">
<strong>Motif du rejet :</strong> {{ school_teacher_call_sheet.rejectionReason }}
</div>
{% endif %}
{% if school_teacher_call_sheet.isCanBeSaved %}
{% if not school_teacher_call_sheet.isAproved %}
{% if school_teacher_call_sheet.status == 'Validé' %}
{% if is_granted('ROLE_FICHE_APPEL') %}
<a href="#" class="btn btn-warning" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_cancel', {'id': school_teacher_call_sheet.id})}}')"><i class="fa fa-times"></i> Annuler</a>
{# <button type="button" class="btn btn-danger" onclick="showRejectModal()"><i class="fa fa-ban"></i> Rejeter</button> #}
<a href="#" class="btn btn-success" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_aproved', {'id': school_teacher_call_sheet.id})}}')"><i class="fa fa-check"></i> Approuver</a>
{% endif %}
{% elseif school_teacher_call_sheet.status == 'Brouillon' or school_teacher_call_sheet.status == 'Rejeté' %}
{% if school_teacher_call_sheet.status != 'Rejeté' %}
<a href="#" class="btn btn-success validate" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_validate', {'id': school_teacher_call_sheet.id})}}')"><i class="fa fa-check"></i> Valider</a>
<a href="{{ path('school_teacher_call_sheet_call', {'id': school_teacher_call_sheet.id}) }}" onclick="$('.loader').addClass('is-active');" class="btn btn-primary save"><i class="fa fa-save"></i> Sauvegarder</a>
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% if school_teacher_call_sheet.isAproved %}
{% if is_granted('ROLE_FICHE_APPEL') %}
<a href="#" class="btn btn-danger" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_disaproved', {'id': school_teacher_call_sheet.id})}}')"><i class="fa fa-times"></i> Annuler l'approbation</a>
{% endif %}
{% endif %}
{% if school_teacher_call_sheet.status == 'Brouillon' or school_teacher_call_sheet.status == 'Rejeté' %}
<a href="#" class="btn btn-warning selected-btn" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_line_set_to_absents')}}')"> Mettre Absent(e)</a>
<a href="#" class="btn btn-success selected-btn" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_line_set_to_presents')}}')"> Mettre Présent(e)</a>
{% endif %}
{% if is_granted('ROLE_EDUCATEUR') %}
<a href="#" class="btn btn-primary selected-btn" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_line_send_adsense_sms')}}')"><i class="fa fa-envelope"></i> SMS Absense</a>
{% endif %}
</div>
</div>
<div class="row mb-4">
<div class="col-md-12 mb-4">
<div class="card text-left">
<div class="card-body">
{{ include('school/school_teacher_call_sheet/re/_call_table.html.twig') }}
</div>
</div>
</div>
</div>
<div class="separator-breadcrumb border-top"></div>
<div class="row mb-4">
<div class="col-md-12">
{% if school_teacher_call_sheet.isCanBeSaved %}
{% if not school_teacher_call_sheet.isAproved %}
{% if school_teacher_call_sheet.status == 'Validé' %}
{% if is_granted('ROLE_FICHE_APPEL') %}
<a href="#" class="btn btn-warning" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_cancel', {'id': school_teacher_call_sheet.id})}}')"><i class="fa fa-times"></i> Annuler</a>
{# <button type="button" class="btn btn-danger" onclick="showRejectModal()"><i class="fa fa-ban"></i> Rejeter</button> #}
<a href="#" class="btn btn-success" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_aproved', {'id': school_teacher_call_sheet.id})}}')"><i class="fa fa-check"></i> Approuver</a>
{% endif %}
{% elseif school_teacher_call_sheet.status == 'Brouillon' or school_teacher_call_sheet.status == 'Rejeté' %}
{% if school_teacher_call_sheet.status != 'Rejeté' %}
<a href="#" class="btn btn-success validate" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_validate', {'id': school_teacher_call_sheet.id})}}')"><i class="fa fa-check"></i> Valider</a>
<a href="{{ path('school_teacher_call_sheet_call', {'id': school_teacher_call_sheet.id}) }}" onclick="$('.loader').addClass('is-active');" class="btn btn-primary save"><i class="fa fa-save"></i> Sauvegarder</a>
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% if school_teacher_call_sheet.isAproved %}
{% if is_granted('ROLE_FICHE_APPEL') %}
<a href="#" class="btn btn-danger" onclick="javascript:actionByPathAndElts('{{path('school_teacher_call_sheet_disaproved', {'id': school_teacher_call_sheet.id})}}')"><i class="fa fa-times"></i> Annuler l'approbation</a>
{% endif %}
{% endif %}
</div>
</div>
<!-- Modal de rejet -->
<div class="modal fade" id="rejectModal" tabindex="-1" role="dialog" aria-labelledby="rejectModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="rejectModalLabel">Rejeter la fiche d'appel</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form id="rejectForm">
<div class="form-group">
<label for="rejection_reason">Motif du rejet <span class="text-danger">*</span></label>
<textarea class="form-control" id="rejection_reason" name="rejection_reason" rows="4" required placeholder="Veuillez saisir le motif du rejet..."></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-danger" onclick="submitReject()">Rejeter</button>
</div>
</div>
</div>
</div>
{% endblock %}
{% block javascripts %}
{{ parent() }}
<script>
$(document).ready(function (){
var isCanBeSaved = {{ school_teacher_call_sheet.isCanBeSaved ? 1 : 0 }};
if(isCanBeSaved){
$('.validate').show();
$('.save').show();
}else{
$('.validate').hide();
$('.save').hide();
}
})
function setToAbsent(path, id) {
console.log(path);
axios.get(path, {
params: {
tk : "welmat"
}
}).then(function (response) {
if(response.data.code == 200){
console.log(response.data.message);
$(response.data.td).html(response.data.message);
$(response.data.btnAbsent).hide()
$(response.data.btnPresent).show()
if(response.data.isCanBeSaved){
$('.validate').show();
$('.save').show();
}else{
$('.validate').hide();
$('.save').hide();
}
}else{
console.log(response.data.message);
}
});
}
function setToPresent(path, id) {
console.log(path);
axios.get(path, {
params: {
tk : "welmat"
}
}).then(function (response) {
if(response.data.code == 200){
console.log(response.data.message);
$(response.data.td).html(response.data.message);
$(response.data.btnAbsent).show();
$(response.data.btnPresent).hide();
if(response.data.isCanBeSaved){
$('.validate').show();
$('.save').show();
}else{
$('.validate').hide();
$('.save').hide();
}
}else{
console.log(response.data.message);
}
});
}
function showRejectModal() {
$('#rejection_reason').val('');
$('#rejectModal').modal('show');
}
function submitReject() {
const reason = $('#rejection_reason').val().trim();
if (!reason) {
alert('Le motif de rejet est obligatoire');
return;
}
$('.loader').addClass('is-active');
$.ajax({
url: '{{ path('school_teacher_call_sheet_reject', {'id': school_teacher_call_sheet.id}) }}',
type: 'POST',
data: {
rejection_reason: reason
},
success: function(response) {
$('.loader').removeClass('is-active');
$('#rejectModal').modal('hide');
if (response.code == 200) {
location.reload();
} else {
alert(response.message);
}
},
error: function() {
$('.loader').removeClass('is-active');
alert('Une erreur est survenue');
}
});
}
</script>
{% endblock %}