Merge pull request #2422 from AndreasK79/advanced_logbook_map_show_selected

[Advanced Logbook] Can selects QSOs for map
这个提交包含在:
Peter Goodhall 2023-08-21 14:27:15 +01:00 提交者 GitHub
当前提交 d373c0f234
找不到此签名对应的密钥
GPG 密钥 ID: 4AEE18F83AFDEB23
共有 3 个文件被更改,包括 109 次插入40 次删除

查看文件

@ -234,6 +234,43 @@ class Logbookadvanced extends CI_Controller {
$this->load->view('logbookadvanced/qslcarousel', $data);
}
public function mapSelectedQsos() {
$this->load->model('logbookadvanced_model');
$searchCriteria = array(
'user_id' => (int)$this->session->userdata('user_id'),
'dateFrom' => '',
'dateTo' => '',
'de' => '',
'dx' => '',
'mode' => '',
'band' => '',
'qslSent' => '',
'qslReceived' => '',
'iota' => '',
'dxcc' => '',
'propmode' => '',
'gridsquare' => '',
'state' => '',
'cqzone' => '',
'qsoresults' => count($this->input->post('ids')),
'sats' => '',
'lotwSent' => '',
'lotwReceived' => '',
'eqslSent' => '',
'eqslReceived' => '',
'qslvia' => '',
'sota' => '',
'pota' => '',
'wwff' => '',
'qslimages' => '',
'ids' => xss_clean($this->input->post('ids'))
);
$result = $this->logbookadvanced_model->searchDb($searchCriteria);
$this->prepareMappedQSos($result);
}
public function mapQsos() {
$this->load->model('logbookadvanced_model');
@ -266,6 +303,11 @@ class Logbookadvanced extends CI_Controller {
'qslimages' => xss_clean($this->input->post('qslimages')),
);
$result = $this->logbookadvanced_model->searchDb($searchCriteria);
$this->prepareMappedQSos($result);
}
public function prepareMappedQSos($qsos) {
if ($this->session->userdata('user_measurement_base') == NULL) {
$measurement_base = $this->config->item('measurement_base');
}
@ -296,7 +338,7 @@ class Logbookadvanced extends CI_Controller {
}
$mappedcoordinates = array();
foreach ($this->logbookadvanced_model->searchDb($searchCriteria) as $qso) {
foreach ($qsos as $qso) {
if (!empty($qso['COL_MY_GRIDSQUARE']) || !empty($qso['COL_MY_VUCC_GRIDS'])) {
if (!empty($qso['COL_GRIDSQUARE']) || !empty($qso['COL_VUCC_GRIDS'])) {
$mappedcoordinates[] = $this->calculate($qso, ($qso['COL_MY_GRIDSQUARE'] ?? '') == '' ? $qso['COL_MY_VUCC_GRIDS'] : $qso['COL_MY_GRIDSQUARE'], ($qso['COL_GRIDSQUARE'] ?? '') == '' ? $qso['COL_VUCC_GRIDS'] : $qso['COL_GRIDSQUARE'], $measurement_base, $var_dist, $custom_date_format);

查看文件

@ -158,6 +158,10 @@ class Logbookadvanced_model extends CI_Model {
}
}
if (($searchCriteria['ids'] ?? '') !== '') {
$conditions[] = "qsos.COL_PRIMARY_KEY in (".implode(",",$searchCriteria['ids']).")";
}
$where = trim(implode(" AND ", $conditions));
if ($where != "") {
$where = "AND $where";
@ -176,7 +180,6 @@ class Logbookadvanced_model extends CI_Model {
}
}
$sql = "
SELECT *
FROM " . $this->config->item('table_name') . " qsos

查看文件

@ -689,6 +689,15 @@ function printlabel() {
function mapQsos(form) {
$('#mapButton').prop("disabled", true);
var id_list=[];
var elements = $('#qsoList tbody input:checked');
var nElements = elements.length;
elements.each(function() {
let id = $(this).first().closest('tr').data('qsoID')
id_list.push(id);
});
$("#qsoList").attr("Hidden", true);
$("#qsoList_wrapper").attr("Hidden", true);
$("#qsoList_info").attr("Hidden", true);
@ -698,6 +707,21 @@ function mapQsos(form) {
$(".qso_manager").append('<div id="advancedmap"></div>');
}
if (id_list.length > 0) {
$.ajax({
url: base_url + 'index.php/logbookadvanced/mapSelectedQsos',
type: 'post',
data: {
ids: id_list
},
success: function(data) {
loadMap(data);
},
error: function() {
$('#mapButton').prop("disabled", false);
},
});
} else {
$.ajax({
url: base_url + 'index.php/logbookadvanced/mapQsos',
type: 'post',
@ -735,7 +759,7 @@ function mapQsos(form) {
$('#mapButton').prop("disabled", false);
},
});
}
};
function loadMap(data) {