Merge pull request #2422 from AndreasK79/advanced_logbook_map_show_selected
[Advanced Logbook] Can selects QSOs for map
这个提交包含在:
当前提交
d373c0f234
共有 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,44 +707,59 @@ function mapQsos(form) {
|
|||
$(".qso_manager").append('<div id="advancedmap"></div>');
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: base_url + 'index.php/logbookadvanced/mapQsos',
|
||||
type: 'post',
|
||||
data: {
|
||||
dateFrom: form.dateFrom.value,
|
||||
dateTo: form.dateTo.value,
|
||||
de: form.de.value,
|
||||
dx: form.dx.value,
|
||||
mode: form.mode.value,
|
||||
band: form.band.value,
|
||||
qslSent: form.qslSent.value,
|
||||
qslReceived: form.qslReceived.value,
|
||||
iota: form.iota.value,
|
||||
dxcc: form.dxcc.value,
|
||||
propmode: form.selectPropagation.value,
|
||||
gridsquare: form.gridsquare.value,
|
||||
state: form.state.value,
|
||||
qsoresults: form.qsoResults.value,
|
||||
sats: form.sats.value,
|
||||
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);
|
||||
},
|
||||
});
|
||||
|
||||
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',
|
||||
data: {
|
||||
dateFrom: form.dateFrom.value,
|
||||
dateTo: form.dateTo.value,
|
||||
de: form.de.value,
|
||||
dx: form.dx.value,
|
||||
mode: form.mode.value,
|
||||
band: form.band.value,
|
||||
qslSent: form.qslSent.value,
|
||||
qslReceived: form.qslReceived.value,
|
||||
iota: form.iota.value,
|
||||
dxcc: form.dxcc.value,
|
||||
propmode: form.selectPropagation.value,
|
||||
gridsquare: form.gridsquare.value,
|
||||
state: form.state.value,
|
||||
qsoresults: form.qsoResults.value,
|
||||
sats: form.sats.value,
|
||||
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) {
|
||||
|
|
|
|||
正在加载…
在新工单中引用