Lire l'add-on EAN-2 et proposer le numéro de la revue scannée
Découverte à la mesure : l'EAN-2 est DÉSACTIVÉ par défaut dans zbar. Il ne suffisait donc pas de cesser de le filtrer — il n'était jamais produit. Vérifié sur un EAN-13 + EAN-2 rendus en canvas : un symbole par défaut, deux après setConfig(ZBAR_EAN2, ZBAR_CFG_ENABLE, 1). L'EAN-5 reste désactivé : il porte un prix, pas un numéro. Ce qui reste non vérifié — que les magazines réels y mettent bien leur numéro de parution — est dit à l'utilisateur : le numéro est proposé dans un champ modifiable, sous une invitation à le comparer à la couverture. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -87,6 +87,15 @@ else
|
||||
parution du code-barres ne sont PAS un numéro fiable (CLAUDE.md), et l'add-on EAN-2 qui
|
||||
le porterait vraiment n'a pas pu être vérifié sur un magazine réel.
|
||||
*@
|
||||
@if (_numeroPropose && !string.IsNullOrWhiteSpace(NumeroScanne))
|
||||
{
|
||||
<p class="message-avertissement" role="status">
|
||||
Le code-barres portait « @NumeroScanne » à côté du code principal, ce qui est
|
||||
normalement le numéro de parution. <strong>Vérifiez-le sur la couverture</strong>
|
||||
avant d'enregistrer.
|
||||
</p>
|
||||
}
|
||||
|
||||
<div class="champs-numero">
|
||||
<label class="champ">
|
||||
<span class="champ-libelle">Numéro</span>
|
||||
@@ -160,6 +169,21 @@ else
|
||||
@code {
|
||||
[Parameter] public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Numéro lu sur l'add-on <b>EAN-2</b> du code-barres, transmis par l'écran de scan.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// ⚠️ <b>Proposé, pas acquis.</b> L'EAN-2 est normativement le numéro de parution, mais
|
||||
/// rien ne l'a confirmé sur des magazines réels : il atterrit donc dans le champ, où
|
||||
/// l'utilisateur le compare à la couverture et le corrige. C'est aussi pourquoi l'écran le
|
||||
/// dit explicitement au lieu de le glisser en douce.
|
||||
/// </remarks>
|
||||
[SupplyParameterFromQuery(Name = "numero")]
|
||||
public string? NumeroScanne { get; set; }
|
||||
|
||||
/// <summary>Le numéro scanné n'est proposé qu'une fois : ensuite, le champ appartient à l'utilisateur.</summary>
|
||||
private bool _numeroPropose;
|
||||
|
||||
private RevueDto? _revue;
|
||||
private bool _chargement = true;
|
||||
private bool _enCours;
|
||||
@@ -200,6 +224,12 @@ else
|
||||
_issn = _revue.Issn;
|
||||
_editeur = _revue.Editeur;
|
||||
}
|
||||
|
||||
if (!_numeroPropose && !string.IsNullOrWhiteSpace(NumeroScanne))
|
||||
{
|
||||
_numeroPropose = true;
|
||||
_numero = NumeroScanne.Trim();
|
||||
}
|
||||
}
|
||||
|
||||
private void Appliquer(RevueDto revue)
|
||||
|
||||
Reference in New Issue
Block a user