Mon commit initial
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
{% extends "BASE.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block page_titre %} SGL - Carnet du carburant {% endblock %}
|
||||
|
||||
{% block "contenu" %}
|
||||
<h3 class="text-center mt-2">Carnet de carburant</h3>
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col">
|
||||
<label for="">Selectionner le mois concerné :</label>
|
||||
<input type="month" name="" id="filtreMois" class="form-control" data-url="{% url 'gestion_vehicule:filtre-carnet-carburant' %}">
|
||||
<input type="hidden" name="" id="id_vehicule" value="{{ id_vehicule }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="tableau-carnet"></div>
|
||||
{% endblock %}
|
||||
|
||||
{% block "js" %}
|
||||
<script src="{% static 'js/carnet_carburant.js' %}"></script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,22 @@
|
||||
{% extends "BASE.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block page_titre %} SGL - Carnet du carburant {% endblock %}
|
||||
|
||||
{% block "contenu" %}
|
||||
<h3 class="text-center mt-2">Carnet de carburant</h3>
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col">
|
||||
<label for="">Selectionner le mois concerné :</label>
|
||||
<input type="month" name="" id="filtreMois" class="form-control" data-url="{% url 'gestion_vehicule:filtre-sortie-vehicule' %}">
|
||||
<input type="hidden" name="" id="id_vehicule" value="{{ id_vehicule }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="tableau-sortie-vehicule"></div>
|
||||
{% endblock %}
|
||||
|
||||
{% block "js" %}
|
||||
<script src="{% static 'js/carnet_sortie_vehicule.js' %}"></script>
|
||||
{% endblock %}
|
||||
131
gestion_vehicule/templates/gestion_vehicule/detail_course.html
Normal file
131
gestion_vehicule/templates/gestion_vehicule/detail_course.html
Normal file
@@ -0,0 +1,131 @@
|
||||
{% extends "BASE.html" %}
|
||||
{% load static %}
|
||||
{% load tags_personnaliser %}
|
||||
{% load l10n %}
|
||||
|
||||
{% block page_titre %} SGL - Détails du véhicule {% endblock %}
|
||||
|
||||
{% block "contenu" %}
|
||||
<a href="{% url 'gestion_vehicule:index' %}" class="btn btn-primary my-2">Retour</a>
|
||||
<h3>Détails de la course</h3>
|
||||
|
||||
<div class="row mt-2 mt-lg-5">
|
||||
<div class="col-12 col-lg-6">
|
||||
<h5 class="text-center">Informations sur la course</h5>
|
||||
<form action="">
|
||||
<div class="form-group">
|
||||
<label for="">Nom du passager :</label>
|
||||
<input type="text" class="form-control" value="{{ detail_demande.nom_passager }}" readonly>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">Lieu de départ :</label>
|
||||
<input type="text" class="form-control" value="{{ detail_demande.lieu_depart }}" readonly>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">Date et heure de départ prévu :</label>
|
||||
<input type="datetime-local" class="form-control" value="{{ detail_demande.date_heure|date:'Y-m-d\\TH:i' }}" readonly>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">Lieu d'arrivée :</label>
|
||||
<input type="text" class="form-control" value="{{ detail_demande.lieu_arrive }}" readonly>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">Véhicule attribué :</label>
|
||||
<input type="text" class="form-control" value="{{ detail_demande.immatriculation }}" readonly>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-12 col-lg-6 mt-3 mt-lg-0">
|
||||
<h5 class="text-center">Renseigner par le chauffeur</h5>
|
||||
<div class="accordion mt-2" id="accordionExample">
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
|
||||
Au départ
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseThree" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
|
||||
<div class="accordion-body">
|
||||
<form method="post" action="{% url 'gestion_vehicule:enregistrer-details-course-depart' detail_demande.id %}">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="id-vehicule" value="{{ detail_demande.id_vehicule }}">
|
||||
<div class="form-group">
|
||||
<label for="">Heure effectif de départ :</label>
|
||||
<input type="datetime-local" class="form-control" value="{{ detail_demande.details_course.heure_effectif_depart|date:'Y-m-d\\TH:i' }}" name="heure-depart">
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Kilométrage de départ :</label>
|
||||
<input type="number" class="form-control" name="kilometrage_depart" value="{{ detail_demande.details_course.km_depart }}">
|
||||
</div>
|
||||
|
||||
{% if user|has_group:"Chauffeur" %}
|
||||
<button type="submit" class="btn btn-primary mt-2 enregistrerButton">Enregistrer</button>
|
||||
{% endif %}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
|
||||
A l'arrivée
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseTwo" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
|
||||
<div class="accordion-body">
|
||||
<form method="post" action="{% url 'gestion_vehicule:enregistrer-details-course-arrivee' detail_demande.id %}">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="id-vehicule" value="{{ detail_demande.vehicule.id }}">
|
||||
<div class="form-group">
|
||||
<label for="">Heure effectif d'arrivée :</label>
|
||||
<input type="datetime-local" class="form-control" value="{{ detail_demande.details_course.heure_arrive|date:'Y-m-d\\TH:i' }}" name="heure-effectif-arrivee">
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Kilométrage d'arrivée :</label>
|
||||
<input type="number" class="form-control" name="kilometrage-arrivee" value="{{ detail_demande.details_course.km_arrive }}">
|
||||
</div>
|
||||
<div class="form-check mt-2">
|
||||
<label for="" class="form-check-label">Course terminée</label>
|
||||
<input type="checkbox" class="form-check-input" name="course-terminer" id="course-terminer" data-state="{{ detail_demande.details_course.course_termine }}">
|
||||
</div>
|
||||
{% if user|has_group:"Chauffeur" %}
|
||||
<button type="submit" class="btn btn-primary mt-2 enregistrerButton">Enregistrer</button>
|
||||
{% endif %}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-2">
|
||||
<div class="col">
|
||||
<h3>Carburant</h3>
|
||||
<div class="accordion mt-4" id="accordionCarburant">
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseCarburant" aria-expanded="false" aria-controls="collapseThree">
|
||||
Enregistrer une prise de carburant
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseCarburant" class="accordion-collapse collapse" data-bs-parent="#accordionCarburant">
|
||||
<div class="accordion-body">
|
||||
<form action="{% url 'gestion_vehicule:enregistrer-prise-carburant' detail_demande.id %}" method="post">
|
||||
{% csrf_token %}
|
||||
{{ detail_demande.prise_carburant_formulaire.as_p }}
|
||||
<button type="submit" class="btn btn-primary">Enregistrer</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- --------------------------------- -->
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block "js" %}
|
||||
<script src="{% static 'js/detail_course.js' %}"></script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,79 @@
|
||||
{% extends "BASE.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block page_titre %} SGL - Détails du véhicule {% endblock %}
|
||||
|
||||
{% block "contenu" %}
|
||||
<a class="btn btn-primary mt-2" href="{% url 'gestion_vehicule:index' %}" >Retour</a>
|
||||
<div class="row flex-column flex-lg-row p-2 border rounded m-2">
|
||||
<div class="col d-flex flex-column justify-content-center">
|
||||
<img src="{{ vehicule.image.url }}" class="w-100" alt="Image non disponible">
|
||||
</div>
|
||||
<div class="col">
|
||||
<h3 class="text-center">Carnet de bord du vehicule</h3>
|
||||
<form action="{% url 'gestion_vehicule:enregistrer-carnetBord' vehicule.id %}" id="carnetBordForm" method="post">
|
||||
<div class="form-group">
|
||||
<label for="">Immatriculation :</label>
|
||||
<input type="text" class="form-control" value="{{ vehicule.immatriculation }}">
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Mois concerné :</label>
|
||||
<input type="month" class="form-control">
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Total kilomètre parcourue :</label>
|
||||
<input type="number" class="form-control">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<a href="{% url 'gestion_vehicule:carnet-carburant' vehicule.id %}" class="btn btn-lg btn-primary d-block m-auto">Carnet de carburant</a>
|
||||
</div>
|
||||
<div class="col">
|
||||
<a href="{% url 'gestion_vehicule:carnet-sortie-vehicule' vehicule.id %}" class="btn btn-lg btn-primary d-block m-auto">Sortie du vehicule</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="accordion mt-2" id="accordionExample">
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
|
||||
Prise de carburant
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseThree" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
|
||||
<div class="accordion-body">
|
||||
<form action="{% url 'gestion_vehicule:enregistrer-prise-carburant' vehicule.id %}" method="post">
|
||||
{% csrf_token %}
|
||||
{{ prise_carburant_formulaire.as_p }}
|
||||
<button type="submit" class="btn btn-primary">Enregistrer</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
|
||||
Carnet de bord du vehicule
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseTwo" class="accordion-collapse collapse" data-bs-parent="#accordionExample">
|
||||
<div class="accordion-body">
|
||||
<form action="{% url 'gestion_vehicule:enregistrer-carnetBord' vehicule.id %}" id="carnetBordForm" method="post">
|
||||
{% csrf_token %}
|
||||
{{ carnet_bord_formulaire.as_p }}
|
||||
<button type="submit" class="btn btn-primary">Enregistrer</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block "js" %}
|
||||
<script src="{% static 'js/detail_gestion_vehicule.js' %}"></script>
|
||||
{% endblock %}
|
||||
202
gestion_vehicule/templates/gestion_vehicule/index.html
Normal file
202
gestion_vehicule/templates/gestion_vehicule/index.html
Normal file
@@ -0,0 +1,202 @@
|
||||
{% extends "BASE.html" %}
|
||||
{% load static %}
|
||||
{% load tags_personnaliser %}
|
||||
|
||||
{% block page_titre %} SGL - Gestion des véhicules {% endblock %}
|
||||
|
||||
{% block "contenu" %}
|
||||
<div class="row p-2">
|
||||
<div class="col d-flex justify-content-between">
|
||||
<h3>PARC AUTOMOBILE</h3>
|
||||
{% if user|has_group:"Logisticien" %}
|
||||
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#enregistrerVehiculeModal">Ajouter un véhicule</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row p-2">
|
||||
{% for vehicule in parc_vehicule %}
|
||||
<div class="card p-2" style="width: 14rem;">
|
||||
{% if vehicule.image %}
|
||||
<img class="card-img-top m-auto d-block" src="{{ vehicule.image.url }}" style="width: 150px;">
|
||||
{% else %}
|
||||
<img class="card-img-top m-auto d-block" src="{% static 'images/exemple-produit.jpg' %}" style="width: 120px;" alt="Image par défaut">
|
||||
{% endif %}
|
||||
<div class="card-body">
|
||||
<h5 class="card-title text-center">{{ vehicule.immatriculation }}</h5>
|
||||
|
||||
{% if user|has_group:"Logisticien" %}
|
||||
<a href="{% url 'gestion_vehicule:detail-voiture' vehicule.id %}" class="d-block m-auto btn btn-primary d-block voir-demande">Voir</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% empty %}
|
||||
<p class="text-center">Aucun véhicule enregistré.</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="row d-flex mt-3">
|
||||
<div class="col d-flex justify-content-between">
|
||||
<h4>LISTE DES DEMANDES</h4>
|
||||
{% if user|has_group:"Employe" %}
|
||||
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#enregistrerDemandeModal">Faire une demande</button>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if user|has_group:"Employe" %}
|
||||
<div class="row d-flex mt-2 mb-2">
|
||||
<!-- <div class="col">
|
||||
<label>Filtrer par date et heure de depart</label>
|
||||
<input type="datetime-local" class="form-control">
|
||||
</div> -->
|
||||
<div class="col">
|
||||
<label>Statut de la demande :</label>
|
||||
<select name="filtreStatutDemande" id="filtreStatutDemande" class="form-select">
|
||||
<option value="tout">Toutes les demandes</option>
|
||||
<option value="mes_demandes">Mes demandes</option>
|
||||
<option value="valider">Demande validée</option>
|
||||
<option value="refuser">Demande Refusée</option>
|
||||
<option value="attente">Demande en attente</option>
|
||||
<option value="terminer">Course terminée</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div id="tableau-demande-vehicule" data-userid = "{{ user.id }}" data-url = "{% url 'gestion_vehicule:liste-demande' %}"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- ---------------------------------------- MODAL ENREGISTREMENT VEHICULE ----------------------------------- -->
|
||||
|
||||
<div class="modal fade" id="enregistrerVehiculeModal" tabindex="-1" aria-labelledby="enregistrerVehiculeModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="enregistrerVehiculeModalLabel">Enregistrer un véhicule</h1>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form action="{% url 'gestion_vehicule:enregistrer-voiture' %}" method="post" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ formulaire_enregistrer_vehicule.as_p }}
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
|
||||
<button type="submit" class="btn btn-primary">Enregistrer</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ------------------------------------ MODAL ENREGISTREMENT DEMANDE ------------------------------------ -->
|
||||
<div class="modal fade" id="enregistrerDemandeModal" tabindex="-1" aria-labelledby="enregistrerDemandeModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="enregistrerDemandeModalLabel">Enregistrer une demande</h1>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="messageZone"></div>
|
||||
<form data-url ="{% url 'gestion_vehicule:enregistrer-demande' %}" id="enregistrer-demande-form" enctype="multipart/form-data">
|
||||
{% csrf_token %}
|
||||
{{ formulaire_demande_vehicule.as_p }}
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
|
||||
<button type="submit" class="btn btn-primary">Enregistrer</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ---------------------------------------- Modal confirmer sortie de la voiture ----------------------- -->
|
||||
<div class="modal fade" id="confirmerDemandeModal" tabindex="-1" aria-labelledby="confirmerDemandeModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="confirmerDemandeModalLabel">Détail de la demande</h1>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form action="{% url 'gestion_vehicule:statut_demande' %}" method="post">
|
||||
{% csrf_token %}
|
||||
<h5 class="text-center">Décision du logisticien</h5>
|
||||
<div class="d-flex justify-content-around">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="radio" name="radioValider" id="radioValider" value="Valider">
|
||||
<label class="form-check-label" for="radioValider">
|
||||
Valider la demande
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="radio" name="radioValider" id="radioRefuser" value="Refuser">
|
||||
<label class="form-check-label" for="radioRefuser">
|
||||
Refuser la demande
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="affichage-formulaire">
|
||||
<h5 class="text-center mt-3">Détail de la demande</h5>
|
||||
<input type="hidden" name="id-demande" id="id-demande">
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Nom du passager :</label>
|
||||
<input type="text" class="form-control" id="nom-passager" readonly>
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Lieu de départ</label>
|
||||
<input type="text" class="form-control" id="lieu-depart" readonly>
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Lieu d'arrivé :</label>
|
||||
<input type="text" class="form-control" id="lieu-arrivee" readonly>
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Date et heure de départ :</label>
|
||||
<input type="text" class="form-control" id="date-heure-depart" readonly>
|
||||
</div>
|
||||
<h5 class="text-center mt-3">Attribution</h5>
|
||||
<div class="form-group">
|
||||
<label for="">Véhicule : </label>
|
||||
<select name="vehicule" id="vehicule" class="form-select"></select>
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Chauffeur :</label>
|
||||
<select name="chauffeur" id="chauffeur" class="form-select"></select>
|
||||
</div>
|
||||
<!-- <h5 class="text-center mt-3">Fin de course</h5>
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" name="course_termine" type="checkbox" role="switch" id="courseTermine">
|
||||
<label class="form-check-label" for="courseTermine">Course terminée</label>
|
||||
</div>
|
||||
<div class="form-group mt-2">
|
||||
<label for="">Date et heure de retour :</label>
|
||||
<input type="datetime-local" name="date_heure_retour" id="date_heure_retour" class="form-control">
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="form-group mt-2" id="refus">
|
||||
<label for="">Motifs du refus :</label>
|
||||
<textarea class="form-control" name="motif" id="motif-refus"></textarea>
|
||||
</div>
|
||||
<div class="modal-footer" id="validation-sortie-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
|
||||
<button type="submit" class="btn btn-primary" id="demanderValiderEnregistrer">Enregistrer</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block "js" %}
|
||||
<script src="{% static 'js/gestion_vehicule.js' %}"></script>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user