SGL avec une premiere implementation de SSO

This commit is contained in:
2026-08-03 14:31:48 +00:00
parent 76b9422d4c
commit 1e477287da
358 changed files with 798 additions and 745 deletions

View File

@@ -0,0 +1,8 @@
<div class="col-1 bg-danger border d-flex flex-column vh-100 pt-5 sticky-top">
<a href="http://test-sirh.cerfig.org:89/" class="text-white text-center fw-bold text-decoration-none mb-4" style="font-size:1.4em">
<i class="bi bi-people-fill fs-1 d-block"></i>SIRH
</a>
<a href="http://test-sgl.cerfig.org:89/" class="text-white text-center fw-bold text-decoration-none mb-4" style="font-size:1.4em">
<i class="bi bi-building-gear fs-1 d-block"></i> SGL
</a>
</div>

View File

@@ -0,0 +1,22 @@
<!-- ----------------------------------- Modal équipement à rendre -------------------------------- -->
<div class="modal fade" id="aRendreModal" tabindex="-1" aria-labelledby="aRendreModalLabel">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="aRendreModalLabel">
Equipement à rendre
</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div id="tableau-equipement-rendre" data-url="{% url 'equipement-a-rendre' %}"></div>
</div>
{% if user|has_group:"logistique" %}
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
<button type="button" class="btn btn-primary" id="equipementARendreEnregistrer" data-url="{% url 'update-equipement-a-rendre' %}">Enregistrer</button>
</div>
{% endif %}
</div>
</div>
</div>

View File

@@ -0,0 +1,47 @@
<!-- ------------- Modal pour la liste des commandes en cours ---------------------- -->
<div class="modal fade" id="listeCommandesModal" tabindex="-1" aria-labelledby="listeCommandesModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="listeCommandesModalLabel">Commande de produit</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="">
{% csrf_token %}
<div class="mb-3">
<label for="produit" class="form-label">Produit</label>
<input type="text" class="form-control" id="produitCommande" readonly>
</div>
<div class="mb-3">
<label for="quantite" class="form-label">Fournisseur :</label>
<input type="text" class="form-control" id="fournisseur" readonly>
</div>
<div class="mb-3">
<label for="motifs" class="form-label">Quantité</label>
<input class="form-control" id="quantiteCommande" readonly></input>
</div>
<div class="mb-3">
<label for="date_commande" class="form-label">Date de commande</label>
<input type="date" class="form-control" id="date_commande" readonly>
</div>
<div class="mb-3">
<label for="date_livraison" class="form-label">Date de Livraison</label>
<input type="date" class="form-control" id="date_livraison" readonly>
</div>
<hr>
<h6 class="text-center">Confirmation de la livraison du produit</h6>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="produit_livre">
<label class="form-check-label" for="produit_livre">Le produit a été livré</label>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
<button type="button" class="btn btn-primary" id="enregistrerModifsCommande" data-url="{% url 'enregistrer_livraison_produit' %}">Enregistrer les modifications</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,68 @@
<!-- ------------- Modal pour la liste des demandes en cours ---------------------- -->
<div class="modal fade" id="listeDemandesModal" tabindex="-1" aria-labelledby="listeDemandesModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="listeDemandesModalLabel">Demande de produit</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form action="">
<div class="mb-3">
<label for="produit" class="form-label">Demandeur :</label>
<input type="text" class="form-control" id="demandeur" readonly>
</div>
<div class="mb-3">
<label for="produit" class="form-label">Produit</label>
<input type="text" class="form-control" id="produit" readonly>
</div>
<div class="mb-3">
<label for="quantite" class="form-label">Quantité</label>
<input type="number" class="form-control" id="quantite" readonly>
</div>
<div class="mb-3">
<label for="motifs" class="form-label">Motifs</label>
<textarea class="form-control" id="motifs" rows="3" readonly></textarea>
</div>
<div class="mb-3">
<label for="date_demande" class="form-label">Date de mise à disposition souhaitée :</label>
<input type="date" class="form-control" id="date_demande" readonly>
</div>
<div class="mb-3">
<label for="a_rendre" class="form-label">À rendre ?</label>
<input type="checkbox" class="form-check-input" id="a_rendre" disabled>
</div>
<div class="mb-3">
<label for="">Valider par le supérieur hiérarchique</label>
<input type="checkbox" class="form-check-input" id="valider_par_chef" disabled>
</div>
<hr>
<h6 class="text-center">Décision de la logistique</h6>
<div class="d-flex justify-content-around mb-3">
<div class="form-check">
<input class="form-check-input" type="radio" name="radioDefault" id="radioValider">
<label class="form-check-label" for="radioValider">
Valider la demande
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="radioDefault" id="radioRefuser" data-url="{% url 'gestion_produit:update-demande' %}">
<label class="form-check-label" for="radioRefuser">
Refuser la demande
</label>
</div>
</div>
<div class="mb-3 d-none" id="box-motif-refus">
<label for="motifs_refus" class="form-label">Motifs de refus</label>
<textarea class="form-control" id="motifs_refus" rows="3"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fermer</button>
<button type="button" class="btn btn-primary" id="enregistrerModifs">Enregistrer les modifications</button>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,15 @@
<!-- ------------------------------------- Modal pour stock en rupture ------------------------------ -->
<div class="modal fade" id="produitRuptureModal" tabindex="-1" aria-labelledby="produitRuptureModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="produitRuptureModalLabel">Produit en rupture</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div id="tableau-produit-rupture" data-url="{% url 'listeProduitRupture' %}"></div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,51 @@
{% load tags_personnaliser %}
<div class="col-12 col-lg-9" style="overflow-y: auto;">
<nav class="navbar navbar-danger bg-danger d-lg-none">
<div class="container-fluid">
<a class="navbar-brand" href="#">CERFIG</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarTogglerDemo01" aria-controls="navbarTogglerDemo01" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo01">
<!-- <a class="navbar-brand" href="#">Hidden brand</a> -->
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
{% if user|has_group:"Administration" %}
<li class="nav-item">
<a class="nav-link d-flex text-white fw-bold" aria-current="page" href="{% url 'index' %}">
<i class="bi bi-backpack4 d-block" style="width: 50px;"></i>
Tableau de bord
</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link d-flex text-white fw-bold" href="{% url 'gestion_produit:index' %}">
<i class="bi bi-backpack4 d-block" style="width: 50px;"></i>
Gestion des produits
</a>
</li>
{% if user|has_group:"Administration" %}
<li class="nav-item">
<a class="nav-link d-flex text-white fw-bold" href="{% url 'gestion_fournisseur:index' %}" tabindex="-1" aria-disabled="true">
<i class="bi bi-truck d-block" style="width: 50px;"></i>
Gestion des fournisseurs
</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link d-flex text-white fw-bold" href="{% url 'gestion_vehicule:index' %}" tabindex="-1" aria-disabled="true">
<i class="bi bi-truck d-block" style="width: 50px;"></i>
Gestion des véhicules
</a>
</li>
<li class="nav-item">
<a class="nav-link d-flex text-white fw-bold" href="{% url 'authentification:deconnexion' %}" tabindex="-1" aria-disabled="true">
<i class="bi bi-person-dash d-block" style="width: 50px;"></i>
Deconnexion
</a>
</li>
</ul>
</div>
</div>
</nav>
</div>

View File

@@ -0,0 +1,31 @@
{% load tags_personnaliser %}
<div class="col-3 bg-danger d-none d-lg-flex flex-column">
{% if user|has_group:"ressource_humaine" or user|has_group:"direction" %}
<a href="{% url 'index' %}" class="btn btn-danger py-3 mt-4 fw-bold d-flex" style="font-size: 1.2em;">
<i class="bi bi-file-bar-graph d-block" style="width: 50px;"></i>
Tableau de bord
</a>
{% endif %}
<a href="{% url 'gestion_produit:index' %}" class="btn btn-danger py-3 mt-1 fw-bold d-flex" style="font-size: 1.2em;">
<i class="bi bi-backpack4 d-block" style="width: 50px;"></i>
Gestion des produits
</a>
{% if user|has_group:"ressource_humaine" or user|has_group:"direction" or user|has_group:"logistique" %}
<a href="{% url 'gestion_fournisseur:index' %}" class="btn btn-danger py-3 mt-1 fw-bold d-flex" style="font-size: 1.2em;">
<i class="bi bi-truck d-block" style="width: 50px;"></i>
Gestion des fournisseurs
</a>
{% endif %}
<a href="{% url 'gestion_vehicule:index' %}" class="btn btn-danger py-3 mt-1 fw-bold d-flex" style="font-size: 1.2em;">
<i class="bi bi-car-front-fill d-block" style="width: 50px;"></i>
Gestion des véhicules
</a>
<a href="{% url 'authentification:deconnexion' %}" class="btn btn-danger py-3 mt-1 fw-bold d-flex" style="font-size: 1.2em;">
<i class="bi bi-person-dash d-block" style="width: 50px;"></i>
Deconnexion
</a>
</div>