From 8c6618cfa753e08eae14d6d2665bfac16bc2f7c9 Mon Sep 17 00:00:00 2001 From: phl0 Date: Thu, 27 Apr 2023 16:00:02 +0200 Subject: [PATCH] Show deleted DXCC marker in advanced logbook --- application/models/Logbookadvanced_model.php | 1 + application/views/logbookadvanced/index.php | 6 +++--- assets/js/sections/logbookadvanced.js | 4 ++-- src/QSLManager/QSO.php | 7 +++++++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 24f0c523..febd3ff8 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -89,6 +89,7 @@ class Logbookadvanced_model extends CI_Model { SELECT * FROM " . $this->config->item('table_name') . " qsos INNER JOIN station_profile ON qsos.station_id=station_profile.station_id + LEFT OUTER JOIN dxcc_entities ON qsos.col_dxcc=dxcc_entities.adif WHERE station_profile.user_id = ? $where ORDER BY qsos.COL_TIME_ON desc, qsos.COL_PRIMARY_KEY desc diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php index 2e1101d4..37914041 100644 --- a/application/views/logbookadvanced/index.php +++ b/application/views/logbookadvanced/index.php @@ -167,13 +167,13 @@ - + - + - + diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js index 590bc14a..f386528a 100644 --- a/assets/js/sections/logbookadvanced.js +++ b/assets/js/sections/logbookadvanced.js @@ -68,7 +68,7 @@ function loadQSOTable(rows) { qso.qslSent, qso.qslReceived, qso.qslMessage, - qso.dxcc, + qso.dxcc+(qso.end == null ? '' : ' Deleted DXCC'), qso.state, qso.cqzone, qso.iota, @@ -365,4 +365,4 @@ $(document).ready(function () { }); $('#searchForm').submit(); -}); \ No newline at end of file +}); diff --git a/src/QSLManager/QSO.php b/src/QSLManager/QSO.php index 4d08859c..117d92e0 100644 --- a/src/QSLManager/QSO.php +++ b/src/QSLManager/QSO.php @@ -54,6 +54,7 @@ class QSO private string $QSLSent; private string $QSLSentVia; private string $QSLVia; + private ?DateTime $end; /** * @param array $data Does no validation, it's assumed to be a row from the database in array format @@ -166,6 +167,11 @@ class QSO $this->state = ($data['COL_STATE'] === null) ? '' :$data['COL_STATE']; $this->dxcc = ($data['COL_COUNTRY'] === null) ? '' :$data['COL_COUNTRY']; $this->iota = ($data['COL_IOTA'] === null) ? '' :$data['COL_IOTA']; + if (array_key_exists('end', $data)) { + $this->end = ($data['end'] === null) ? null : DateTime::createFromFormat("Y-m-d", $data['end'], new DateTimeZone('UTC')); + } else { + $this->end = null; + } } /** @@ -514,6 +520,7 @@ class QSO 'state' => $this->getState(), 'cqzone' => $this->getCqzone(), 'iota' => $this->getIOTA(), + 'end' => $this->end === null ? null : $this->end->format("Y-m-d"), ]; }