diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php
index e100b0f89..323ecaaa8 100644
--- a/application/controllers/Logbookadvanced.php
+++ b/application/controllers/Logbookadvanced.php
@@ -151,12 +151,22 @@ class Logbookadvanced extends CI_Controller {
public function search() {
$this->load->model('logbookadvanced_model');
+ if(!$this->load->is_loaded('DxccFlag')) {
+ $this->load->library('DxccFlag');
+ }
$searchCriteria = $this->mapParameters();
$qsos = [];
foreach ($this->logbookadvanced_model->searchQsos($searchCriteria) as $qso) {
- $qsos[] = $qso->toArray();
+ $qsoArray = $qso->toArray();
+ $flag = $this->dxccflag->get($qso->getDXCCId());
+ if ($flag != null) {
+ $qsoArray['flag'] = ' '.$flag;
+ } else {
+ $qsoArray['flag'] = '';
+ }
+ $qsos[] = $qsoArray;
}
header("Content-Type: application/json");
diff --git a/assets/js/sections/logbookadvanced.js b/assets/js/sections/logbookadvanced.js
index 4ea5599ef..cf47fce09 100644
--- a/assets/js/sections/logbookadvanced.js
+++ b/assets/js/sections/logbookadvanced.js
@@ -293,7 +293,7 @@ function loadQSOTable(rows) {
data.push(qso.qslMessageR);
}
if ((user_options.dxcc.show ?? 'true') == "true"){
- data.push(qso.dxcc+(qso.end == null ? '' : ' Deleted DXCC'));
+ data.push(qso.dxcc+qso.flag+(qso.end == null ? '' : ' Deleted DXCC'));
}
if ((user_options.state.show ?? 'true') == "true"){
data.push(qso.state);
diff --git a/src/QSLManager/QSO.php b/src/QSLManager/QSO.php
index f204112e6..8b64bc75f 100644
--- a/src/QSLManager/QSO.php
+++ b/src/QSLManager/QSO.php
@@ -43,6 +43,7 @@ class QSO
private string $ituzone;
private string $state;
private string $dxcc;
+ private string $dxccid;
private string $iota;
private string $continent;
private string $region;
@@ -258,6 +259,7 @@ class QSO
} else {
$this->dxcc = (($data['dxccname'] ?? null) === null) ? '- NONE -' : ''.ucwords(strtolower($data['dxccname']), "- (/").'';
}
+ $this->dxccid = $data['adif'];
$this->iota = ($data['COL_IOTA'] === null) ? '' : $this->getIotaLink($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'));
@@ -1175,6 +1177,11 @@ class QSO
return '' . $this->dxcc . '';
}
+ public function getDXCCId(): string
+ {
+ return $this->dxccid;
+ }
+
public function getCqzone(): string
{
return '' . $this->cqzone . '';
@@ -1223,6 +1230,7 @@ class QSO
'qslMessageR' => $this->getQSLMsgRcvd(),
'name' => $this->getName(),
'dxcc' => $this->getDXCC(),
+ 'dxccid' => $this->getDXCCId(),
'state' => $this->getState(),
'pota' => $this->getFormattedPota(),
'operator' => $this->getOperator(),