fix: bulk edit — name the confirmation fields properly, add the missing ones (#3)
"Upload" was wrong for half of them: a paper QSL is not uploaded. Every entry now says whether it sets a STATUS or a DATE, and in which direction — "QRZ.com sent status", "LoTW received date" — which is also how the ADIF fields read. Added: the QRZ.com received status (the column existed, it was simply never offered) and the ten confirmation DATES — QSL / LoTW / eQSL / QRZ.com in both directions, Club Log and HRDLog outbound only, those two having no return channel. Dates use the same picker as the QSL Info tab, with a Today (UTC) button; clearing the field writes an empty value, which is how a wrong date is removed from a batch. Fields are grouped by CHANNEL now, each status followed by its date, in the same order as the QSL Info tab — a longer list, but nothing to hunt for. The repository whitelist is extended to match: without it the new columns would have been refused at write time. The old ids (qrz_upload, clublog_upload, hrdlog_upload) still resolve, in case anything still holds one.
This commit is contained in:
@@ -5562,16 +5562,33 @@ func (a *App) BulkUpdateQSL(ids []int64, u QSLBulkUpdate) (int, error) {
|
||||
// layer so the frontend works with stable ids, not raw column names.
|
||||
var bulkFieldColumns = map[string]string{
|
||||
// QSL / upload status
|
||||
"lotw_sent": "lotw_sent",
|
||||
"lotw_rcvd": "lotw_rcvd",
|
||||
"eqsl_sent": "eqsl_sent",
|
||||
"eqsl_rcvd": "eqsl_rcvd",
|
||||
"qsl_sent": "qsl_sent",
|
||||
"qsl_rcvd": "qsl_rcvd",
|
||||
"qsl_via": "qsl_via",
|
||||
"lotw_sent": "lotw_sent",
|
||||
"lotw_rcvd": "lotw_rcvd",
|
||||
"eqsl_sent": "eqsl_sent",
|
||||
"eqsl_rcvd": "eqsl_rcvd",
|
||||
"qsl_sent": "qsl_sent",
|
||||
"qsl_rcvd": "qsl_rcvd",
|
||||
"qsl_via": "qsl_via",
|
||||
"qrz_sent": "qrzcom_qso_upload_status",
|
||||
"qrz_rcvd": "qrzcom_qso_download_status",
|
||||
"clublog_sent": "clublog_qso_upload_status",
|
||||
"hrdlog_sent": "hrdlog_qso_upload_status",
|
||||
// Old ids kept so anything holding one keeps working.
|
||||
"qrz_upload": "qrzcom_qso_upload_status",
|
||||
"clublog_upload": "clublog_qso_upload_status",
|
||||
"hrdlog_upload": "hrdlog_qso_upload_status",
|
||||
// Confirmation DATES. A status without its date is half the record: an
|
||||
// operator correcting a batch after an import needs both.
|
||||
"qsl_sent_date": "qsl_sent_date",
|
||||
"qsl_rcvd_date": "qsl_rcvd_date",
|
||||
"lotw_sent_date": "lotw_sent_date",
|
||||
"lotw_rcvd_date": "lotw_rcvd_date",
|
||||
"eqsl_sent_date": "eqsl_sent_date",
|
||||
"eqsl_rcvd_date": "eqsl_rcvd_date",
|
||||
"qrz_sent_date": "qrzcom_qso_upload_date",
|
||||
"qrz_rcvd_date": "qrzcom_qso_download_date",
|
||||
"clublog_sent_date": "clublog_qso_upload_date",
|
||||
"hrdlog_sent_date": "hrdlog_qso_upload_date",
|
||||
// My station / operator
|
||||
"station_callsign": "station_callsign",
|
||||
"operator": "operator",
|
||||
|
||||
Reference in New Issue
Block a user