-
1.0.5 Stable
released this
2026-06-05 20:19:29 +02:00 | 4 commits to main since this releaseAjouté
- Type de champ « place » (Lieu) dans les relevés — permet de sélectionner un lieu existant dans la hiérarchie lors de la saisie d'un relevé ; la valeur est stockée en JSONB {id, nom_long} et correctement exportée en CSV
- Export CSV des relevés d'une source — disponible depuis la fiche source ; colonnes générées dynamiquement à partir des champs du type de source ; valeurs de dates et lieux converties en texte lisible
- Import CSV des relevés d'une source — depuis la fiche source ; détection automatique du séparateur (; / ,) ; correspondance des colonnes par libellé (tolérant casse et accents) ; parsing des dates en grégorien ou calendrier nommé, des lieux par nom long
- Import/export CSV des lieux — depuis la liste des lieux ; export UTF-8 BOM (compatible Excel) avec colonnes nom, code, type, lieu_parent, latitude, longitude, note ; import avec résolution du parent par nom_long et du type par nom
- Connexion avec email ou nom d'utilisateur — le champ de connexion accepte indifféremment l'adresse e-mail ou le nom d'utilisateur
Modifié
- Carte Leaflet — passage au bundle Vite/npm — la bibliothèque Leaflet est désormais packagée localement (suppression de la dépendance au CDN externe) pour un fonctionnement sur serveurs sans accès internet
- Suppression de l'export GEDCOM — la fonctionnalité d'export au format GEDCOM 5.5.1 a été retirée
- Traductions françaises des vues d'authentification — formulaires de connexion, inscription et mot de passe oublié entièrement traduits (lang/fr.json)
Corrigé
- Tableau de bord admin — erreur MySQL ONLY_FULL_GROUP_BY : la requête d'activité mensuelle sélectionnait DATE_FORMAT(created_at, ...) sans l'inclure dans le GROUP BY ; corrigé en agrégeant avec MIN(created_at) et en groupant par YEAR() / MONTH()
- Compatibilité MySQL — NULLS LAST et withCount/select : NULLS LAST n'est pas supporté en MySQL ; ajout de DbCompat::nullsLast() générant la syntaxe portable ; correction de l'ordre des clauses withCount / select pour MySQL strict
- Bouton « Modifier » d'un champ de type de source : le formulaire inline Alpine.js ne s'ouvrait pas car x-data était positionné sur le et non sur le
- parent partagé avec le formulaire
- Saisie de date dans un relevé — double soumission : x-show masque visuellement les éléments mais ne les retire pas du DOM ; les deux inputs (grégorien et républicain) étaient soumis simultanément ; l'attribut :disabled lié à l'état Alpine résout le problème
- Affichage / modification / suppression d'un relevé — erreur 500 : les routes ->shallow() suppriment {source} de l'URL pour les actions individuelles sur les relevés ; Laravel ne peut pas binder automatiquement Source $source — corrigé en chargeant la source depuis $releve->source
- Menus de navigation masqués derrière la carte Leaflet : Leaflet utilise des z-index internes jusqu'à 800 ; la balise sans position: relative n'avait pas de contexte d'empilement ; ajout de relative z-40
- RelevePolicy — signatures incompatibles : create et viewAny recevaient (User, Source) via le Gate (class string) mais étaient définies sans le paramètre Source, ou avec un paramètre Releve inopportun ; signatures harmonisées avec les conventions d'appel du Gate
Downloads