feat(hamlog): mark an already-uploaded log through bulk edit
A log sent to hamlog.online by hand — an ADIF exported from OpsLog and dropped on their site — had no way of being marked as sent afterwards. The QSL Manager then listed every one of those contacts as backlog and offered to upload them a second time. Both HAMLOG keys join the bulk-editable extras, so a selection (or the whole log) can be stamped in one pass. They are DATES rather than Y/N flags because that is the shape the sent stamp already uses: the QSL Manager's backlog asks whether the key is present, and a date also says when it went. The test pins that they are reachable through the extras path and NOT offered as columns — a mapping claiming both would write to a table that has neither.
This commit is contained in:
@@ -24,3 +24,25 @@ func TestBandIsNotBulkEditableAlone(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// A log uploaded to HAMLOG.online BY HAND has to be markable afterwards, or
|
||||
// OpsLog offers to send every one of those contacts again. Both directions live
|
||||
// in extras — the ADIF names a field for hamlog.EU and none for hamlog.ONLINE —
|
||||
// so they must be reachable through the extras path, not the column one.
|
||||
func TestHamlogFieldsAreBulkEditable(t *testing.T) {
|
||||
for field, want := range map[string]string{
|
||||
"hamlog_sent": "APP_OPSLOG_HAMLOG_SENT",
|
||||
"hamlog_rcvd": "APP_OPSLOG_HAMLOG_QSL",
|
||||
} {
|
||||
if got := BulkExtraKey(field); got != want {
|
||||
t.Errorf("BulkExtraKey(%q) = %q, want %q", field, got, want)
|
||||
}
|
||||
}
|
||||
// And they are NOT columns: a mapping that also claimed a column would write
|
||||
// to a table that has none.
|
||||
for _, col := range []string{"hamlog_sent", "hamlog_rcvd", "APP_OPSLOG_HAMLOG_SENT"} {
|
||||
if BulkEditable(col) {
|
||||
t.Errorf("%q is offered as a bulk-editable COLUMN", col)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user