Enhance Documents page functionality and update API documentation

- Added a new `$results` property to the Documents page to allow users to specify the maximum number of results returned by the `document_list` endpoint, defaulting to ~108.
- Updated the `searchDocuments` method to include the `results` parameter in API requests, ensuring it is sent as a string.
- Modified the documents.blade.php view to include an input field for the `results` parameter, with appropriate placeholder text and guidance.
- Improved the documentation for the `document_list` endpoint to clarify the behavior of the `results` parameter and its interaction with `thirdid`.
- Updated the `Document_GetPDF` section to reflect its functionality and correct usage of the `LAYOUT` parameter.
- Added a new test to verify that the `results` parameter is correctly sent to the API.
- Overall, enhanced the user experience and API interaction for document management.
This commit is contained in:
2026-02-23 11:24:57 +01:00
parent 0ab94fdb91
commit dfe20e79d7
10 changed files with 461 additions and 152 deletions

View File

@@ -49,29 +49,40 @@ Dernière mise à jour : 2026-02-23
- [x] Page Articles : `$results` supprimé, `$barcode` ajouté, formulaire mis à jour
- [x] Documentation `art_list` et `third_list` corrigée (métadonnées réelles, paramètres inefficaces documentés)
- [x] 2 nouveaux tests barcode dans ArticlesPageTest (envoi quand renseigné, omission quand vide)
- [x] Investigation complète des 9 endpoints Documents (appels API réels, structures de réponse, formats)
- [x] Document_GetPDF reclassé comme fonctionnel (LAYOUT numérique en string, ex: "1")
- [x] Format de date YYYY-MM-DD confirmé et documenté pour tous les endpoints avec paramètre date
- [x] Codes paydelay documentés (10 codes via codes_list PAYDELAY : 30, 30F, 45F, 50, 60, 60F, 75F, 90, 90F, 0F)
- [x] Modes de paiement documentés (codes_list PAYMODE : CAS, VIR, BC, CBEF)
- [x] Paramètre `results` ajouté à document_list (fonctionne, défaut ~108)
- [x] Documents.php : propriété `$results` ajoutée, transmise en string à l'API
- [x] documents.blade.php : champ `results` ajouté, bandeau "non fonctionnel" retiré de GetPDF, placeholder LAYOUT mis à jour
- [x] Documentation API massivement enrichie (réponses réelles, structures détaillées, section endpoints partiellement fonctionnels)
- [x] 1 nouveau test Pest (results envoyé en string à document_list)
## Ce qui reste à faire
- [ ] Corriger le test pré-existant `FilamentDashboardTest > it displays project statistics`
- [ ] Corriger les 2 tests pré-existants `FilamentDashboardTest`
- [ ] Vérifier le rendu visuel de toutes les pages avec de vraies données API
- [ ] Éventuellement : pagination / tri côté client pour les grands tableaux
- [ ] Éventuellement : page de consultation des logs API
## Problèmes connus
- Le test `FilamentDashboardTest > it displays project statistics` échoue car le dashboard ne contient pas la section "Endpoints API" / "Tables accessibles" / "Pages Filament" / "Tests Pest". Le test a été créé avant la refonte du dashboard.
- 2 tests `FilamentDashboardTest` échouent car le dashboard ne contient pas les sections attendues. Tests créés avant la refonte du dashboard.
- L'erreur `SQLSTATE[HY000] [1049] Unknown database` peut apparaître lors de `composer update` si la base n'est pas encore créée (script `boost:update`). Sans impact une fois la base créée.
- L'API retourne chaque colonne en double dans `column_list`. Le `TablesExplorer` déduplique côté client.
- Le paramètre `results` n'a aucun effet sur `art_list` (toujours 5 max) ni sur `third_list` (toujours 10 max). Limite fixe côté serveur.
- Le paramètre `results` n'a aucun effet sur `art_list` (toujours 5 max) ni sur `third_list` (toujours 10 max). Limite fixe côté serveur. En revanche, `results` fonctionne sur `document_list` et `jnl_list`.
- Le paramètre `barcode` n'a aucun effet observable sur `art_list`. Le paramètre `search` reste obligatoire même avec `barcode`.
- L'endpoint `custom_geninv_updatestock` reste non fonctionnel (paramètre STKID inconnu).
## Métriques
- Tests : 124 passent, 1 en échec pré-existant
- Tests : 125 passent, 2 en échec pré-existants
- Pages Filament : 7 (Documentation, TablesExplorer, Articles, Documents, Journaux, Tiers, Divers)
- Composants Blade design system : 10
- Endpoints API couverts par LogisticsService : 19
- Endpoints accessibles depuis l'interface : 19 (dont 2 non fonctionnels)
- Endpoints accessibles depuis l'interface : 19 (dont 1 non fonctionnel, 1 partiellement fonctionnel)
- Migrations : 5 (users, cache, jobs, two_factor, api_request_logs)
- Règles Cursor : 4 (laravel-boost, memory-bank, design-system, update-documentation)
- Classes support : 1 (ApiErrorTranslator)