diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php
index 97f129268..0d0fce919 100644
--- a/application/models/Logbookadvanced_model.php
+++ b/application/models/Logbookadvanced_model.php
@@ -496,8 +496,10 @@ class Logbookadvanced_model extends CI_Model {
public function updateQsoWithCallbookInfo($qsoID, $qso, $callbook) {
$updatedData = array();
+ $updated = false;
if (!empty($callbook['name']) && empty($qso['COL_NAME'])) {
$updatedData['COL_NAME'] = $callbook['name'];
+ $updated = true;
}
if (!empty($callbook['gridsquare']) && empty($qso['COL_GRIDSQUARE']) && empty($qso['COL_VUCC_GRIDS'] )) {
if (strpos(trim($callbook['gridsquare']), ',') === false) {
@@ -505,30 +507,44 @@ class Logbookadvanced_model extends CI_Model {
} else {
$updatedData['COL_VUCC_GRIDS'] = strtoupper(trim($callbook['gridsquare']));
}
+ $updated = true;
}
if (!empty($callbook['city']) && empty($qso['COL_QTH'])) {
$updatedData['COL_QTH'] = $callbook['city'];
+ $updated = true;
}
if (!empty($callbook['lat']) && empty($qso['COL_LAT'])) {
$updatedData['COL_LAT'] = substr(($callbook['lat'] ?? ''),0,11);
+ $updated = true;
}
if (!empty($callbook['long']) && empty($qso['COL_LON'])) {
$updatedData['COL_LON'] = substr(($callbook['long'] ?? ''),0,11);
+ $updated = true;
}
if (!empty($callbook['iota']) && empty($qso['COL_IOTA'])) {
$updatedData['COL_IOTA'] = $callbook['iota'];
+ $updated = true;
}
if (!empty($callbook['state']) && empty($qso['COL_STATE'])) {
$updatedData['COL_STATE'] = $callbook['state'];
+ $updated = true;
}
if (!empty($callbook['us_county']) && empty($qso['COL_CNTY'])) {
$updatedData['COL_CNTY'] = $callbook['state'].','.$callbook['us_county'];
+ $updated = true;
}
if (!empty($callbook['qslmgr']) && empty($qso['COL_QSL_VIA'])) {
$updatedData['COL_QSL_VIA'] = $callbook['qslmgr'];
+ $updated = true;
}
if (!empty($callbook['ituz']) && empty($qso['COL_ITUZ'])) {
$updatedData['COL_ITUZ'] = $callbook['ituz'];
+ $updated = true;
+ }
+
+ //Also set QRZ.com status to modified
+ if($updated == true && $qso['COL_QRZCOM_QSO_UPLOAD_STATUS'] == 'Y') {
+ $updatedData['COL_QRZCOM_QSO_UPLOAD_STATUS'] = 'M';
}
if (count($updatedData) > 0) {
@@ -750,6 +766,25 @@ class Logbookadvanced_model extends CI_Model {
$query = $this->db->query($sql, array($value, json_decode($ids, true), $this->session->userdata('user_id')));
}
+ //Also set QRZ.com status to modified
+ if (!$this->load->is_loaded('logbook_model')) {
+ $this->load->model('logbook_model');
+ }
+ $modifiedQsos=[];
+ foreach (json_decode($ids, true) as $id) {
+ $qso = $this->logbook_model->get_qso($id)->row();
+ if ($qso->COL_QRZCOM_QSO_UPLOAD_STATUS == 'Y') {
+ log_message('info', '[LBA] Updating QRZ.com status for QSO ID: ' . $id . ' to M');
+ $modifiedQsos[] = $id;
+ }
+ }
+
+ if (!empty($modifiedQsos)) {
+ $qso_ids = implode(',', $modifiedQsos);
+ $sql = "UPDATE ".$this->config->item('table_name')." JOIN station_profile ON ".$this->config->item('table_name').".station_id = station_profile.station_id SET " . $this->config->item('table_name').".COL_QRZCOM_QSO_UPLOAD_STATUS = 'M' WHERE " . $this->config->item('table_name').".col_primary_key in (".$qso_ids.") and station_profile.user_id = ?";
+ $query = $this->db->query($sql, $this->session->userdata('user_id'));
+ }
+
$this->db->trans_complete();
return array('message' => 'OK');
diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php
index 30fba0bca..21581a4ec 100644
--- a/application/views/logbookadvanced/index.php
+++ b/application/views/logbookadvanced/index.php
@@ -190,7 +190,7 @@ $options = json_decode($options);
$mode) {
- ?>
@@ -201,7 +201,7 @@ $options = json_decode($options);