Compare commits

..

3 Commits

Author SHA1 Message Date
a1fa9f2f9f Feat/responsivite: Reclassement des indicateurs du tableau de bord 2026-10-20 11:43:16 +00:00
61528dfbba Feat\responsivite: Ajout de la responsivite 2026-10-19 12:22:45 +00:00
Soriba SYLLA
f7717dfd12 Authentification 2026-10-13 11:31:08 +00:00
8 changed files with 85 additions and 35 deletions

View File

@@ -5,7 +5,7 @@
{% block page_titre %} Tableau de bord {% endblock %}
{% block "contenu" %}
<div class="row p-2 d-flex justify-content-around">
<div class="col-5 col-lg-3 border border-3 rounded border-danger p-2 d-flex" style="cursor: pointer;" id="produit_rupture">
<div class="col-12 col-lg-3 border border-3 rounded border-danger p-2 d-flex" style="cursor: pointer;" id="produit_rupture">
<img src="{% static 'images/stock-rupture.png' %}" alt="" style="width: 30%; height: 75%;">
<div class="d-flex justify-content-center flex-column ms-1">
<h3 class="text-center fw-bold">Rupture</h3>
@@ -13,7 +13,7 @@
</div>
</div>
<div class="col-5 col-lg-3 border border-3 rounded border-warning p-2 d-flex" style="cursor: pointer;" id="produit_pre_rupture">
<div class="col-12 col-lg-3 border border-3 rounded border-warning my-2 my-lg-0 p-2 d-flex" style="cursor: pointer;" id="produit_pre_rupture">
<img src="{% static 'images/stock-prerupture.png' %}" alt="" style="width: 30%; height: 75%;">
<div class="d-flex justify-content-center flex-column ms-1">
<h3 class="text-center fw-bold">Pré-rupture</h3>
@@ -21,7 +21,7 @@
</div>
</div>
<div class="col-5 col-lg-3 mt-2 mt-lg-0 border border-3 rounded border-success p-2 d-flex" style="cursor: pointer;" id="produit_normal">
<div class="col-12 col-lg-3 border border-3 rounded border-success p-2 d-flex" style="cursor: pointer;" id="produit_normal">
<img src="{% static 'images/stock-bon.png' %}" alt="" style="width: 30%; height: 75%;">
<div class="d-flex justify-content-center flex-column ms-1">
<h3 class="text-center fw-bold">Correct</h3>

View File

@@ -1,24 +1,80 @@
{% load static %}
<nav class="navbar navbar-expand-lg bg-body-tertiary">
{% load tags_personnaliser %}
<nav class="navbar d-none d-lg-block navbar-expand-lg bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">
<img src="{% static 'images/cerfig.jpg' %}" alt="Logo" width="85" height="30" class="d-inline-block align-text-top">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<div class="collapse navbar-collapse">
<ul class="nav nav-tabs justify-content-end w-100">
<li class="nav-item">
<a class="nav-link" href="{{ LIEN_SIRH }}">SIRH</a>
<a class="nav-link" aria-current="page" href="{{ LIEN_SIRH }}">SIRH</a>
</li>
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="{{ LIEN_SGL }}">SGL</a>
<a class="nav-link active" href="{{ LIEN_SGL }}">SGL</a>
</li>
<li class="nav-item">
<a class="nav-link" aria-current="page" href="#">Laboratoire</a>
<a class="nav-link" href="#">Laboratoire</a>
</li>
</ul>
</div>
</div>
</nav>
</nav>
<nav class="navbar d-lg-none navbar-expand-lg bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">
<img src="{% static 'images/cerfig.jpg' %}" alt="Logo" width="85" height="30" class="d-inline-block align-text-top">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav">
{% if user|has_group:"ressource_humaine" or user|has_group:"direction" %}
<li class="nav-item">
<a class="nav-link" aria-current="page" href="{% url 'index' %}">
<i class="bi bi-file-bar-graph"></i>
Tableau de bord
</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link" href="{% url 'gestion_produit:index' %}">
<i class="bi bi-backpack4"></i> Gestion des produits
</a>
</li>
{% if user|has_group:"ressource_humaine" or user|has_group:"direction" or user|has_group:"logistique" %}
<li class="nav-item">
<a class="nav-link" href="{% url 'gestion_fournisseur:index' %}">
<i class="bi bi-truck"></i> Gestion des fournisseurs
</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link" href="{% url 'gestion_vehicule:index' %}">
<i class="bi bi-car-front-fill"></i> Gestion des véhicules
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'authentification:deconnexion' %}"><i class="bi bi-box-arrow-right"></i> Déconnexion</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid d-flex d-sm-none justify-content-center">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link" href="{{ LIEN_SIRH }}">SIRH</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="{{ LIEN_SGL }}">SGL</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Laboratoire</a>
</li>
</ul>
</div>

View File

@@ -1,6 +1,6 @@
{% load tags_personnaliser %}
<div class="col-3 bg-danger d-none d-lg-flex flex-column">
<div class="col-3 bg-danger d-none d-lg-flex flex-column vh-100 pt-5 sticky-top">
{% 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>

View File

@@ -7,7 +7,7 @@
{% block "contenu" %}
<div class="row p-2">
<div class="col d-flex justify-content-between">
<div class="col d-flex flex-column flex-lg-row justify-content-between">
<h3>LISTE DES FOURNISSEURS </h3>
{% if user|has_group:"logistique" %}
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#enregistrerFournisseur">
@@ -19,10 +19,10 @@
</div>
<div class="row p-2">
<div class="col">
<div class="col-12 col-lg-6">
<input type="text" class="form-control" placeholder="Rechercher par nom du fournisseur" id="searchFournisseur">
</div>
<div class="col">
<div class="col-12 col-lg-6 mt-2 mt-lg-0">
<select name="" id="filterCategorie" class="form-select">
<option value="">Toutes les catégories de produit</option>
{% for categorie in listeCategorie %}

View File

@@ -1,5 +1,6 @@
"""Vuews pour la gestion des fournisseurs."""
from django.contrib import messages
from django.shortcuts import render, redirect
from gestion_produit.models import Fournisseur, Categorie, Commander
from django.http import JsonResponse

View File

@@ -6,8 +6,8 @@
{% block "contenu" %}
<div class="row p-2">
<div class="col d-flex justify-content-between">
<h3>MES DEMANDES</h3>
<div class="col d-flex flex-column flex-lg-row justify-content-between">
<h3 class="text-center text-lg-left">MES DEMANDES</h3>
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#listeDemandesModal">
<i class="bi bi-eye"></i>
Toutes mes demandes ...
@@ -43,10 +43,10 @@
<div class="row d-flex mt-3">
<div class="col d-flex flex-column flex-lg-row justify-content-between">
<h3>LISTE DES PRODUITS</h3>
<div>
<div class='d-flex flex-lg-row flex-column'>
{% if user|has_group:"logistique" %}
<a href="{% url 'gestion_produit:mouvement-de-stock' %}" class="btn btn-primary"><i class="bi bi-file-earmark-diff"></i> Rapport de mouvement de stock</a>
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#enregistrerProduit"><i class="bi bi-plus-circle"></i> Produit</button>
<button class="btn btn-primary mt-2 mt-lg-0 mx-0 mx-lg-2" data-bs-toggle="modal" data-bs-target="#enregistrerProduit"><i class="bi bi-plus-circle"></i> Produit</button>
<button class="btn btn-primary mt-2 mt-lg-0" data-bs-toggle="modal" data-bs-target="#enregistrerCategorie"><i class="bi bi-plus-circle"></i> Catégorie</button>
{% endif %}
</div>
@@ -58,8 +58,8 @@
<div class="col">
<input type="text" id="searchInput" placeholder="Rechercher par libellé" class="form-control" name="search" value="{{ request.GET.search }}">
</div>
<div class="col">
<select id="filterCategorie" name="filterCategorie" class="form-select">
<div class="col mx-0 mx-lg-2">
<select id="filterCategorie" name="filterCategorie" class="form-select mt-2 mt-lg-0">
<option value="">Filtre par catégorie</option>
{% for categorie in liste_categorie %}
<option value="{{ categorie.id }}" {% if request.GET.filterCategorie == categorie.id|stringformat:"s" %}selected{% endif %}>{{ categorie.categorie }}</option>
@@ -67,12 +67,12 @@
</select>
</div>
<div class="col mt-2 mt-lg-0">
<button type="submit" class="btn btn-primary"><i class="bi bi-search"></i> Rechercher</button>
<button type="submit" class="w-100 btn btn-primary"><i class="bi bi-search"></i> Rechercher</button>
</div>
</form>
</div>
<div class="row p-2 justify-content-around" id = "cardContainer">
<div class="row flex-column flex-lg-row p-2 justify-content-around" id = "cardContainer">
{% for produit in page_obj %}
<div class="col-3">
<div class="card p-2 mt-2" style="width: 13rem;">

View File

@@ -6,8 +6,8 @@
{% block "contenu" %}
<div class="row p-2">
<div class="col d-flex justify-content-between">
<h3>PARC AUTOMOBILE</h3>
<div class="col d-flex flex-column flex-lg-row justify-content-between">
<h3 class='text-center text-lg-left'>PARC AUTOMOBILE</h3>
{% if user|has_group:"logistique" %}
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#enregistrerVehiculeModal">Ajouter un véhicule</button>
{% endif %}
@@ -36,20 +36,13 @@
</div>
<div class="row d-flex mt-3">
<div class="col d-flex justify-content-between">
<h4>LISTE DES DEMANDES</h4>
{% comment %} {% if user|has_group:"Employe" %} {% endcomment %}
<div class="col d-flex flex-column flex-lg-row justify-content-between">
<h4 class='text-center text-lg-left'>LISTE DES DEMANDES</h4>
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#enregistrerDemandeModal">Faire une demande</button>
{% comment %} {% endif %} {% endcomment %}
</div>
</div>
{% comment %} {% if user|has_group:"Employe" %} {% endcomment %}
<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">