Files
LogiFlow/PRODUCTION_DLC_STOCK_UPDATE.md
T
michaelschal a4931ce1cd Add stock management for out-of-stock products and update deployment scripts
Implement new fields in the database and update deployment scripts to include a feature for managing out-of-stock products.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f9197b9b-a5b3-4469-a27d-930a9e9ee736
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/f9197b9b-a5b3-4469-a27d-930a9e9ee736/JKfj3tT
2025-08-18 09:14:12 +00:00

92 lines
3.2 KiB
Markdown

# Mise à jour Production - Fonctionnalité Stock Épuisé DLC
## Nouveaux champs ajoutés au module DLC
Cette mise à jour ajoute la fonctionnalité de gestion du stock épuisé pour les produits DLC, permettant de distinguer les produits périmés des produits en rupture de stock.
### Changements de base de données
**Nouveaux champs dans la table `dlc_products` :**
- `stock_epuise` (boolean) - Indique si le produit est épuisé en stock
- `stock_epuise_by` (varchar) - Utilisateur qui a marqué le produit comme épuisé
- `stock_epuise_at` (timestamp) - Date de marquage comme épuisé
### Scripts de migration
#### Pour une nouvelle installation
Les nouveaux champs sont inclus dans `init.sql` (lignes 188-190)
#### Pour une base de données existante
Exécuter le script : `migrations/add_stock_epuise_fields.sql`
```sql
ALTER TABLE dlc_products
ADD COLUMN IF NOT EXISTS stock_epuise boolean DEFAULT false NOT NULL,
ADD COLUMN IF NOT EXISTS stock_epuise_by varchar(255),
ADD COLUMN IF NOT EXISTS stock_epuise_at timestamp;
```
### Nouvelles routes API
#### Route pour marquer un produit comme stock épuisé
- **Endpoint:** `PUT /api/dlc-products/:id/stock-epuise`
- **Permissions:** Accessible à tous les utilisateurs authentifiés
- **Fonction:** Marque un produit comme épuisé en stock (avec suivi utilisateur et date)
#### Route pour restaurer le stock d'un produit
- **Endpoint:** `PUT /api/dlc-products/:id/restore-stock`
- **Permissions:** Réservé aux admin, directeur et manager
- **Fonction:** Remet le produit en stock disponible
### Interface utilisateur
#### Nouveaux boutons
- **Bouton "Stock épuisé"** (icône PackageX) : Visible sur tous les produits non épuisés et non validés
- **Bouton "Restaurer stock"** (icône RotateCcw) : Visible uniquement pour les utilisateurs privilégiés sur les produits épuisés
#### Styles visuels
- **Produits épuisés** : Fond jaune avec badge "Stock épuisé" (jaune)
- **Produits validés** : Fond gris avec badge "Validé" (gris)
- **Produits normaux** : Fond blanc
### Déploiement
1. **Mise à jour Docker :**
```bash
docker-compose down
docker-compose build
docker-compose up -d
```
2. **Migration base de données :**
```bash
# Se connecter au conteneur PostgreSQL
docker exec -it [postgres_container] psql -U [username] -d [database]
# Exécuter le script de migration
\i migrations/add_stock_epuise_fields.sql
```
3. **Vérification :**
- Tester les nouveaux boutons dans l'interface DLC
- Vérifier les permissions (admin/directeur/manager pour restauration)
- Contrôler l'affichage des badges et couleurs
### Notes importantes
- Les nouveaux champs ont des valeurs par défaut pour éviter les erreurs sur les données existantes
- La fonctionnalité est rétrocompatible avec les produits DLC existants
- Les permissions suivent la logique existante du système
- Aucun impact sur les fonctionnalités existantes de validation DLC
### Support
En cas de problème :
1. Vérifier que la migration a été appliquée : `\d dlc_products`
2. Contrôler les logs de l'application pour les erreurs API
3. Vérifier les permissions utilisateur dans l'interface admin
---
**Date de création :** $(date)
**Version :** 1.0.0
**Auteur :** Système de gestion DLC