gestion_table_tournante_libre/src/csv
Mathieu Benoit 201259331d [ADD] csv: apply an import three ways, re-export refusals, export list
An import applies its preview by adding, updating or replacing.
Updating designates one participant by name, first name and, when
given, affiliation; an empty field keeps the stored value, and a row
that designates several is refused. Replacing first counts what it
destroys, reservations and filled titles included. A blocked plan
refuses; a retained one warns of drift. Refused rows come back as a CSV
of the original columns plus line and reason, which reimports as is;
the list exports in the exact form the import reads.

Checked: 59 tests, the round trip field by field and the refusal loop.

--- FR ---

[ADD] csv : import de trois façons, refus réexportés, liste exportée

Un import applique son aperçu en ajoutant, mettant à jour ou
remplaçant. La mise à jour désigne un participant par nom, prénom et,
s'il est donné, appartenance ; un champ vide garde la valeur, et une
ligne qui en désigne plusieurs est refusée. Remplacer compte d'abord ce
qu'il détruit, réservations et titres pourvus compris. Un plan bloqué
refuse ; un plan retenu avertit de la dérive. Les lignes refusées
reviennent en CSV des colonnes d'origine, plus ligne et motif, qui se
réimporte tel quel ; la liste s'exporte dans la forme que l'import lit.

Vérifié : 59 épreuves, l'aller-retour champ par champ et la boucle.

Assisted-by: Claude Opus 5.5
Claude-Session: https://claude.ai/code/session_01EUXSGcwCLSC69FWEdCtWSb
2026-10-06 14:47:25 -04:00
..
apercu.js [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00
apercu.test.js [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00
colonnes.js [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00
colonnes.test.js [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00
encodage.js [ADD] csv: decode in four steps, choose the separator, cut records 2026-10-06 07:05:21 -04:00
encodage.test.js [ADD] csv: decode in four steps, choose the separator, cut records 2026-10-06 07:05:21 -04:00
erreurs.js [ADD] csv: decode in four steps, choose the separator, cut records 2026-10-06 07:05:21 -04:00
export.js [ADD] csv: apply an import three ways, re-export refusals, export list 2026-10-06 14:47:25 -04:00
export.test.js [ADD] csv: apply an import three ways, re-export refusals, export list 2026-10-06 14:47:25 -04:00
import.js [ADD] csv: apply an import three ways, re-export refusals, export list 2026-10-06 14:47:25 -04:00
import.test.js [ADD] csv: apply an import three ways, re-export refusals, export list 2026-10-06 14:47:25 -04:00
lecture.js [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00
lecture.test.js [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00
normalisation.js [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00
normalisation.test.js [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00