feat(bulk): mode, submode and RST are repair fields, so allow them
They were excluded as "per-QSO", alongside callsign and date. That rule confused two different things: bulk edit is not for describing QSOs, it is for REPAIRING a batch of them — an import that mapped every contact to SSB, an ADIF that carried no MODE at all. Refusing because a hundred rows should not normally share a value left the operator editing a hundred rows by hand. Setting the mode CLEARS the submode. A submode belongs to the mode it was recorded under; left behind it contradicts the new one, and "FT8 with a submode of USB" is not a thing — worse, the submode is what most ADIF readers believe. Band is still refused on its own, and that half of the rule stands. It travels with the frequency through BulkSetFrequency, which writes the pair: a band contradicting its own frequency is invalid ADIF, and every export would carry the contradiction out into the world. Callsign and date stay out too — they identify the contact rather than describe it.
This commit is contained in:
@@ -91,6 +91,17 @@ const FIELDS: FieldDef[] = [
|
||||
{ id: 'iota', label: 'bulk.fIota', group: 'Contacted station', kind: 'text', upper: true },
|
||||
{ id: 'sig', label: 'bulk.fSig', group: 'Contacted station', kind: 'text' },
|
||||
{ id: 'sig_info', label: 'bulk.fSigInfo', group: 'Contacted station', kind: 'text' },
|
||||
// The contact itself — repair fields, not description fields. An import that
|
||||
// mapped every QSO to SSB, or an ADIF with no MODE at all, is fixed here
|
||||
// instead of one row at a time.
|
||||
//
|
||||
// Band is deliberately absent: it travels with the frequency below, because a
|
||||
// band contradicting its own frequency is invalid ADIF and every export would
|
||||
// carry the contradiction.
|
||||
{ id: 'mode', label: 'bulk.fMode', group: 'The contact', kind: 'text', upper: true },
|
||||
{ id: 'submode', label: 'bulk.fSubmode', group: 'The contact', kind: 'text', upper: true },
|
||||
{ id: 'rst_sent', label: 'bulk.fRstSent', group: 'The contact', kind: 'text' },
|
||||
{ id: 'rst_rcvd', label: 'bulk.fRstRcvd', group: 'The contact', kind: 'text' },
|
||||
// Misc
|
||||
// Frequency (MHz) — sets freq_hz AND recomputes band. Main use: fixing a batch
|
||||
// logged on a stale/default frequency after CAT dropped.
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user