From 46fad667bcf035e589b02a0866bae1b6faab227f Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 7 Dec 2025 22:38:51 +0100 Subject: [PATCH] Added button to show qso list in state --- application/controllers/Logbookadvanced.php | 14 +++++++ application/models/Logbookadvanced_model.php | 13 +++++++ .../views/logbookadvanced/checkresult.php | 3 +- .../views/logbookadvanced/showStateQsos.php | 38 +++++++++++++++++++ assets/js/sections/logbookadvanced.js | 29 ++++++++++++-- 5 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 application/views/logbookadvanced/showStateQsos.php diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 4a6d417b2..1b781c3e8 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -920,4 +920,18 @@ class Logbookadvanced extends CI_Controller { header("Content-Type: application/json"); echo json_encode($result); } + + public function openStateList() { + if(!clubaccess_check(9)) return; + + $this->load->model('logbook_model'); + $this->load->model('logbookadvanced_model'); + + $data['dxcc'] = $this->input->post('dxcc', true); + + // Process for batch QSO state fix + $data['qsos'] = $this->logbookadvanced_model->getStateListQsos($data['dxcc']); + + $this->load->view('logbookadvanced/showStateQsos', $data); + } } diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 3dfe433bf..af5781d44 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -1578,4 +1578,17 @@ class Logbookadvanced_model extends CI_Model { return $results; } + + function getStateListQsos($dxcc) { + $sql = "SELECT col_call, col_time_on, col_mode, col_submode, col_band, col_state, col_gridsquare FROM " . $this->config->item('table_name') . " qsos + JOIN station_profile ON qsos.station_id = station_profile.station_id + WHERE qsos.COL_DXCC = ? AND station_profile.user_id = ? + AND (qsos.COL_STATE IS NULL OR qsos.COL_STATE = '') + AND LENGTH(COALESCE(qsos.COL_GRIDSQUARE, '')) >= 6 + ORDER BY COL_TIME_ON DESC"; + + $query = $this->db->query($sql, [$dxcc, $this->session->userdata('user_id')]); + + return $query->result(); + } } diff --git a/application/views/logbookadvanced/checkresult.php b/application/views/logbookadvanced/checkresult.php index 10dc34aa1..512bcfb4f 100644 --- a/application/views/logbookadvanced/checkresult.php +++ b/application/views/logbookadvanced/checkresult.php @@ -26,9 +26,10 @@
| Call | +Date/Time | +Mode | +Submode | +Band | +State | +Gridsquare | +
|---|---|---|---|---|---|---|
| col_call; ?> | +col_time_on)); ?> | +col_mode; ?> | +col_submode ?? ''; ?> | +col_band; ?> | +col_state; ?> | +col_gridsquare; ?> | +
+ Found QSO(s) missing state information for DXCC . +
+