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); $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() { public function mapQsos() {
$this->load->model('logbookadvanced_model'); $this->load->model('logbookadvanced_model');
@ -266,6 +303,11 @@ class Logbookadvanced extends CI_Controller {
'qslimages' => xss_clean($this->input->post('qslimages')), '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) { if ($this->session->userdata('user_measurement_base') == NULL) {
$measurement_base = $this->config->item('measurement_base'); $measurement_base = $this->config->item('measurement_base');
} }
@ -296,7 +338,7 @@ class Logbookadvanced extends CI_Controller {
} }
$mappedcoordinates = array(); $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_MY_GRIDSQUARE']) || !empty($qso['COL_MY_VUCC_GRIDS'])) {
if (!empty($qso['COL_GRIDSQUARE']) || !empty($qso['COL_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); $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)); $where = trim(implode(" AND ", $conditions));
if ($where != "") { if ($where != "") {
$where = "AND $where"; $where = "AND $where";
@ -176,7 +180,6 @@ class Logbookadvanced_model extends CI_Model {
} }
} }
$sql = " $sql = "
SELECT * SELECT *
FROM " . $this->config->item('table_name') . " qsos FROM " . $this->config->item('table_name') . " qsos

查看文件

@ -689,6 +689,15 @@ function printlabel() {
function mapQsos(form) { function mapQsos(form) {
$('#mapButton').prop("disabled", true); $('#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").attr("Hidden", true);
$("#qsoList_wrapper").attr("Hidden", true); $("#qsoList_wrapper").attr("Hidden", true);
$("#qsoList_info").attr("Hidden", true); $("#qsoList_info").attr("Hidden", true);
@ -698,44 +707,59 @@ function mapQsos(form) {
$(".qso_manager").append('<div id="advancedmap"></div>'); $(".qso_manager").append('<div id="advancedmap"></div>');
} }
$.ajax({ if (id_list.length > 0) {
url: base_url + 'index.php/logbookadvanced/mapQsos', $.ajax({
type: 'post', url: base_url + 'index.php/logbookadvanced/mapSelectedQsos',
data: { type: 'post',
dateFrom: form.dateFrom.value, data: {
dateTo: form.dateTo.value, ids: id_list
de: form.de.value, },
dx: form.dx.value, success: function(data) {
mode: form.mode.value, loadMap(data);
band: form.band.value, },
qslSent: form.qslSent.value, error: function() {
qslReceived: form.qslReceived.value, $('#mapButton').prop("disabled", false);
iota: form.iota.value, },
dxcc: form.dxcc.value, });
propmode: form.selectPropagation.value, } else {
gridsquare: form.gridsquare.value, $.ajax({
state: form.state.value, url: base_url + 'index.php/logbookadvanced/mapQsos',
qsoresults: form.qsoResults.value, type: 'post',
sats: form.sats.value, data: {
cqzone: form.cqzone.value, dateFrom: form.dateFrom.value,
lotwSent: form.lotwSent.value, dateTo: form.dateTo.value,
lotwReceived: form.lotwReceived.value, de: form.de.value,
eqslSent: form.eqslSent.value, dx: form.dx.value,
eqslReceived: form.eqslReceived.value, mode: form.mode.value,
qslvia: $('[name="qslviainput"]').val(), band: form.band.value,
sota: form.sota.value, qslSent: form.qslSent.value,
pota: form.pota.value, qslReceived: form.qslReceived.value,
wwff: form.wwff.value, iota: form.iota.value,
qslimages: form.qslimages.value, dxcc: form.dxcc.value,
}, propmode: form.selectPropagation.value,
success: function(data) { gridsquare: form.gridsquare.value,
loadMap(data); state: form.state.value,
}, qsoresults: form.qsoResults.value,
error: function() { sats: form.sats.value,
$('#mapButton').prop("disabled", false); cqzone: form.cqzone.value,
}, lotwSent: form.lotwSent.value,
}); lotwReceived: form.lotwReceived.value,
eqslSent: form.eqslSent.value,
eqslReceived: form.eqslReceived.value,
qslvia: $('[name="qslviainput"]').val(),
sota: form.sota.value,
pota: form.pota.value,
wwff: form.wwff.value,
qslimages: form.qslimages.value,
},
success: function(data) {
loadMap(data);
},
error: function() {
$('#mapButton').prop("disabled", false);
},
});
}
}; };
function loadMap(data) { function loadMap(data) {