From c5b4e117ba5848df3f3f5560ec8e4653ea1052de Mon Sep 17 00:00:00 2001 From: mathieu Date: Wed, 9 Sep 2026 21:46:53 +0200 Subject: [PATCH] Ajout de l'url des envies directement dans la modification des ouvrages. --- .../Services/Souhaits/ServiceSouhaits.cs | 18 +++++---- MaBibli.Client/Pages/EditionSouhait.razor | 39 +++++++++++++++++-- MaBibli.Shared/Dtos/SouhaitDto.cs | 12 ++++++ 3 files changed, 59 insertions(+), 10 deletions(-) diff --git a/MaBibli.Api/Services/Souhaits/ServiceSouhaits.cs b/MaBibli.Api/Services/Souhaits/ServiceSouhaits.cs index 73d43c1..5106a27 100644 --- a/MaBibli.Api/Services/Souhaits/ServiceSouhaits.cs +++ b/MaBibli.Api/Services/Souhaits/ServiceSouhaits.cs @@ -214,13 +214,17 @@ public sealed class ServiceSouhaits(MaBibliDbContext db) : IServiceSouhaits souhait.Isbn = isbn; souhait.Note = Vide(saisie.Note); - // ⚠️ La couverture n'est écrite QUE si la charge utile en porte une, contrairement aux - // autres champs. Raison : aucun écran n'offre de champ « URL de couverture » pour une - // envie — décision actée, un tel champ inviterait à coller des liens morts. Un - // remplacement inconditionnel effacerait donc, à chaque correction de titre, l'image - // que la bibliographie avait fournie. Il n'y a rien à « vider » puisqu'il n'y a rien à - // saisir, et la lecture retombe de toute façon sur la formule OpenLibrary à ISBN connu. - souhait.CoverUrl = Vide(saisie.CoverUrl) ?? souhait.CoverUrl; + // ⚠️ Écrite SEULEMENT quand le geste de correction a été utilisé (CoverUrlModifiee) : + // « Modifier une envie » enregistre aussi le titre, l'ISBN, etc. sans qu'on ait touché à + // la couverture, et cette valeur affichée peut être une DÉDUCTION à la lecture (formule + // OpenLibrary à ISBN connu, voir Projeter) plutôt que ce qu'il y a réellement en base. + // La matérialiser à chaque enregistrement figerait cette déduction, et une correction + // d'ISBN qui suit ne la referait plus jouer. Le drapeau distingue « je n'y ai pas + // touché » de « je viens de vider le champ », ce qu'un simple null ne pourrait pas dire. + if (saisie.CoverUrlModifiee) + { + souhait.CoverUrl = Vide(saisie.CoverUrl); + } // ⚠️ Indispensable : TitreNormalise est la CLÉ D'ŒUVRE, celle qui sert au rapprochement // « déjà au catalogue ». Sans ce recalcul, corriger un titre laisserait le rapprochement diff --git a/MaBibli.Client/Pages/EditionSouhait.razor b/MaBibli.Client/Pages/EditionSouhait.razor index 75267ce..0a717c3 100644 --- a/MaBibli.Client/Pages/EditionSouhait.razor +++ b/MaBibli.Client/Pages/EditionSouhait.razor @@ -41,6 +41,16 @@ else if (_saisie is null) else {
+ @* Même ligne que dans le formulaire d'un ouvrage (FormulaireLivre) : un aperçu quand il y + a quelque chose à montrer, puis un champ d'adresse ordinaire, au même titre que les + autres. *@ + @if (!string.IsNullOrEmpty(_saisie.CoverUrl) || !string.IsNullOrWhiteSpace(_saisie.Titre)) + { +
+ +
+ } + + +