feat: ship DDFM v2 (postal-code OR-rule) via the award catalog so it reaches the team
DDFM now derives the French department from the address postal code, not only
from a note typed by hand — the catalog def gains the address OR-rule (\d{2}\d{3}
-> Dxx), France+Corsica scope, and version 2. On next launch every operator whose
DDFM is unedited auto-upgrades to it (user-edited copies are offered it); the
materialised award_refs then recompute so ~500+ French QSOs gain their department.
Also: a catalog definition update now clears the award_refs backfill flag, so any
future catalog bump self-heals the stored columns without a manual flag bump.
This commit is contained in:
@@ -2452,6 +2452,14 @@ func (a *App) migrateAwardDefs() {
|
||||
applog.Printf("awards: %s updated from the catalog (v%d)", code, defByCode(migrated, code).Version)
|
||||
a.reseedRefsFromCatalog(code)
|
||||
}
|
||||
// A catalog definition changed (e.g. DDFM gained the postal-code OR-rule), so
|
||||
// the materialised award_refs on existing QSOs are now stale. Clear the
|
||||
// one-shot backfill flag; backfillAwardRefsOnce runs later in startup and will
|
||||
// re-materialise every row against the updated definitions. This makes ANY
|
||||
// future catalog bump self-heal the stored columns without a manual flag bump.
|
||||
if len(updated) > 0 {
|
||||
_ = a.settings.Set(a.ctx, keyAwardsMaterialized, "")
|
||||
}
|
||||
// Version-gated correction of the built-in awards' Validate sources, which
|
||||
// an earlier version wrongly set equal to Confirm (so VALIDATED == CONFIRMED
|
||||
// even for paper-QSL-only entities). Re-apply the canonical Confirm/Validate
|
||||
|
||||
Reference in New Issue
Block a user