====== Wiki — Système de Hub ====== Ce wiki explique comment fonctionne le système de hubs sur Mobil : ce qu'est un hub, comment les administrateurs les créent et les configurent, et comment les gestionnaires de hub utilisent leur tableau de bord au quotidien. ---- ===== 1. Qu'est-ce qu'un hub ? ===== Un **hub** est un point de retrait et d'envoi physique (entrepôt, atelier, dépôt). Chaque infrastructure proposée à la location est rattachée à un ou plusieurs hubs. Trois choses importantes vivent sur un hub : * **Le stock de composants** : tubes, connecteurs, panneaux, projecteurs… Ce sont les pièces atomiques qui servent à monter les infrastructures. * **Un gestionnaire de hub** (utilisateur WordPress assigné) qui voit et gère les réservations de son hub. * **Une localisation** affichée l'adresse côté utilisateurices > **À retenir** : Chaque hub gère un stock de "composants", et le site calcule automatiquement combien d'infrastructures sont assemblables. ---- ===== 2. Rôles et permissions ===== ^ Rôle ^ Ce qu'il peut faire ^ | **Administrateur** | Tout : créer/modifier les hubs, assigner les gestionnaires, voir tous les hubs et toutes les commandes. | | **Hub Manager** | Voir uniquement son ou ses hubs, modifier les quantités de stock, consulter les réservations qui concernent son hub, recevoir les emails de notification. | Le rôle ''Hub Manager'' est créé automatiquement par le code écrit par moi-même (Val - Projet Feu de Camp). Il suffit ensuite à l'admin de : - Créer l'utilisateur WordPress et lui donner ce rôle. - L'assigner à un hub (voir section 3). ---- ===== 3. Créer et configurer un hub (admin) ===== ==== 3.1 Créer le hub ==== - Dans l'admin WordPress, aller dans **Hubs → Ajouter un hub**. - Donner un **titre** (le nom affiché côté client, ex. //Hub Bruxelles Nord//). - Renseigner l'adresse / la localisation dans les champs prévus (utilisée par la carte Google). - **Publier**. ==== 3.2 Assigner un gestionnaire ==== Sur la page d'édition du hub, dans la metabox **« Assignment du gestionnaire »** : * Choisir un utilisateur dans la liste (administrateurs, éditeurs et hub managers sont listés). * Enregistrer. Le gestionnaire choisi obtient automatiquement la permission de gérer ce hub. On peut changer ou retirer le gestionnaire à tout moment ; les permissions suivent. > Un hub sans gestionnaire fonctionne, mais aucun email de notification ne sera envoyé pour les commandes le concernant. L'admin verra un avertissement « Manager: Not assigned » dans le tableau de bord. ==== 3.3 Configurer le stock de composants ==== Toujours sur la page d'édition du hub, dans le champ **« Stock Composant »** : - Cliquer sur **Add Row**. - Sélectionner le composant (un CPT « composant » existant — il doit avoir été créé au préalable avec ses dimensions, poids, type de transport). - Renseigner la **quantité disponible** dans ce hub. - Répéter pour chaque composant que le hub possède. - **Mettre à jour** la page. Le système peut maintenant calculer, pour chaque produit demandé, combien d'unités sont assemblables depuis ce hub. > **Exemple** : si une infrastructure « Panier de basket » nécessite 12 tubes et 4 connecteurs, et que le hub a 50 tubes et 20 connecteurs, le hub peut fournir 4 paniers (limité par les tubes : 50 ÷ 12 ≈ 4) (Merci l'IA pour les calculs :s) ---- ===== 4. Tableau de bord du gestionnaire ===== Quand un hub manager se connecte, iel voit dans le menu admin : * **🏢 Mon Hub** → vue du stock de composants * **📦 Commandes** → réservations qui concernent son hub ==== 4.1 Page « Mon Hub » ==== Affiche pour chaque hub géré par l'utilisateur : * **Liste des composants** avec leur quantité actuelle. * **Statut visuel** : 🟢 disponible / 🟡 stock faible (≤ 5) / 🔴 rupture. * **Boutons d'action** par composant : * ➕ / ➖ pour ajuster d'une unité * 📝 pour saisir une valeur exacte * ⚙️ pour ouvrir la fiche du composant (édite poids, dimensions, etc.) * **Bouton « Configure Component Stock »** : ouvre la page d'édition complète du hub pour ajouter/supprimer des lignes du répéteur. Les modifications sont enregistrées immédiatement. Pas besoin de bouton « Save ». ==== 4.2 Page « Commandes » ==== Liste les réservations actives liées au hub : * Numéro de réservation, date de commande, dates de retrait/livraison (Booked From / Booked To), statut. * Liste des infrastructures demandées avec quantité. * Coordonnées du client. * **Bouton « Voir plus »** ouvre une modale détaillée avec : * Infos générales (total, paiement). * Coordonnées client complètes. * **🧱 Composants à préparer** : liste agrégée et automatiquement calculée des composants nécessaires pour honorer la commande (le système expanse la recette de chaque infrastructure). C'est cette dernière liste que le gestionnaire utilise pour préparer physiquement la commande. ---- ===== 5. Notifications email ===== Quand une commande contenant des items d'un hub passe en statut **processing** ou **completed**, le gestionnaire assigné reçoit automatiquement un email contenant : * Numéro de commande * Dates de réservation * Liste des infrastructures et composants à préparer * Coordonnées client Chaque commande n'envoie qu'**un seul email** par hub concerné. > Si un email semble manquant : vérifier que (a) un gestionnaire est bien assigné au hub, (b) l'utilisateur a une adresse email valide, (c) la commande a bien le ''hub_id'' sur ses items (chaîne dépendante du formulaire produit → cart → checkout). ---- ===== 6. Vie quotidienne du gestionnaire — flux typique ===== - **Email reçu** : nouvelle commande au hub. - Se connecter → **📦 Commandes** → cliquer **Voir plus** sur la commande concernée. - Lire la section **Composants à préparer**. - Préparer physiquement les pièces. - Au moment du retrait par le client, ajuster manuellement le stock dans **🏢 Mon Hub** si nécessaire (le système déduit déjà le stock automatiquement à la réservation ; les ajustements manuels servent aux pertes, retours, inventaires). ---- ===== 7. Cas particuliers ===== * **Un composant change de hub** : modifier les quantités dans les deux hubs (retirer X de l'un, ajouter X à l'autre). * **Inventaire** : utiliser le bouton 📝 « valeur exacte » pour aligner sur le compte physique. * **Nouveau composant** : le créer d'abord en tant que CPT « composant » (avec poids, dimensions, type de transport — voir wiki Transport), puis l'ajouter à la liste de stock du hub. * **Plusieurs hubs pour le même gestionnaire** : tous apparaissent les uns sous les autres sur la page « Mon Hub ». ---- ===== 8. Erreurs fréquentes ===== ^ Symptôme ^ Cause probable ^ Solution ^ | « No hub is assigned to your account » | L'admin n'a pas assigné l'utilisateur à un hub. | Admin → édition du hub → metabox Assignment. | | Stock visible mais boutons ne fonctionnent pas | Permission manquante ou nonce expiré. | Recharger la page, vérifier le rôle de l'utilisateur. | | Email de notification jamais reçu | Pas de gestionnaire assigné, ou email user invalide, ou ''hub_id'' manquant sur les items de commande. | Vérifier dans cet ordre. | | Une commande n'apparaît pas dans « Commandes » | Items de la commande sans ''hub_id''. | Refaire la commande de test depuis la fiche produit (le hub doit être sélectionné dans le formulaire). | | « No component stock configured for this hub » | Le répéteur Stock Composant est vide. | Édition du hub → ajouter des lignes. |