Allow for selection of QSOs to be reassigned

这个提交包含在:
phl0 2023-10-28 16:06:32 +02:00
父节点 839b124c92
当前提交 adb8e8d03c
找不到此签名对应的密钥
GPG 密钥 ID: 48EA1E640798CA9A
共有 4 个文件被更改,包括 53 次插入21 次删除

查看文件

@ -29,6 +29,7 @@ class Maintenance extends CI_Controller {
$this->load->model('Logbook_model'); $this->load->model('Logbook_model');
$this->load->model('Stations'); $this->load->model('Stations');
$call = xss_clean(($this->input->post('call'))); $call = xss_clean(($this->input->post('call')));
$qsoids = xss_clean(($this->input->post('qsoids')));
$station_profile_id = xss_clean(($this->input->post('station_id'))); $station_profile_id = xss_clean(($this->input->post('station_id')));
// Check if target-station-id exists // Check if target-station-id exists
@ -39,8 +40,7 @@ class Maintenance extends CI_Controller {
if ($station->station_id == $station_profile_id) { $allowed=true; } if ($station->station_id == $station_profile_id) { $allowed=true; }
} }
if ($allowed) { if ($allowed) {
log_message("error",$call." to ".$station_profile_id); $status=$this->Logbook_model->update_station_ids($station_profile_id,$call,$qsoids);
$status=$this->Logbook_model->update_all_station_ids($station_profile_id,$call);
} else { } else {
$status=false; $status=false;
} }

查看文件

@ -4109,7 +4109,7 @@ function check_if_callsign_worked_in_logbook($callsign, $StationLocationsArray =
} }
public function check_for_station_id() { public function check_for_station_id() {
$this->db->select('COL_TIME_ON, COL_CALL, COL_MODE, COL_BAND'); $this->db->select('COL_PRIMARY_KEY, COL_TIME_ON, COL_CALL, COL_MODE, COL_BAND');
$this->db->where('station_id =', NULL); $this->db->where('station_id =', NULL);
$query = $this->db->get($this->config->item('table_name')); $query = $this->db->get($this->config->item('table_name'));
log_message('debug','SQL: '.$this->db->last_query()); log_message('debug','SQL: '.$this->db->last_query());
@ -4167,24 +4167,29 @@ function check_if_callsign_worked_in_logbook($callsign, $StationLocationsArray =
} }
} }
public function update_all_station_ids($station_id,$station_callsign) { public function update_station_ids($station_id,$station_callsign,$qsoids) {
$data = array( if (! empty($qsoids)) {
'station_id' => $station_id, $data = array(
); 'station_id' => $station_id,
);
$this->db->where(array('station_id' => NULL)); $this->db->where_in('COL_PRIMARY_KEY', $qsoids);
if ($station_callsign == '') { $this->db->where(array('station_id' => NULL));
$this->db->where(array('col_station_callsign' => NULL)); if ($station_callsign == '') {
} else { $this->db->where(array('col_station_callsign' => NULL));
$this->db->where('col_station_callsign', $station_callsign); } else {
} $this->db->where('col_station_callsign', $station_callsign);
$this->db->update($this->config->item('table_name'), $data); }
if ($this->db->affected_rows() > 0) { $this->db->update($this->config->item('table_name'), $data);
return TRUE; if ($this->db->affected_rows() > 0) {
} else { return TRUE;
return FALSE; } else {
} return FALSE;
}
} else {
return FALSE;
}
} }
public function parse_frequency($frequency) public function parse_frequency($frequency)

查看文件

@ -22,6 +22,7 @@
<table id="unasigned_qsos_table" class="table table-sm table-striped"> <table id="unasigned_qsos_table" class="table table-sm table-striped">
<thead> <thead>
<tr> <tr>
<th scope="col"><input type="checkbox" onClick="toggleAll(this)"></th>
<th scope="col">Date</th> <th scope="col">Date</th>
<th scope="col">Time</th> <th scope="col">Time</th>
<th scope="col">Call</th> <th scope="col">Call</th>
@ -35,6 +36,7 @@
} }
foreach ($qsos_with_no_station_id as $qso) { foreach ($qsos_with_no_station_id as $qso) {
echo '<tr>'; echo '<tr>';
echo '<td><input type="checkbox" id="'.$qso->COL_PRIMARY_KEY.'" name="cBox[]" value="'.$qso->COL_PRIMARY_KEY.'"></td>';
$timestamp = strtotime($qso->COL_TIME_ON); $timestamp = strtotime($qso->COL_TIME_ON);
echo '<td>'.date($custom_date_format, $timestamp).'</td>'; echo '<td>'.date($custom_date_format, $timestamp).'</td>';
$timestamp = strtotime($qso->COL_TIME_ON); $timestamp = strtotime($qso->COL_TIME_ON);
@ -69,7 +71,7 @@
foreach ($stations->result() as $station) { foreach ($stations->result() as $station) {
$options.='<option value='.$station->station_id.'>'.$station->station_profile_name.' ('.$station->station_callsign.')</option>'; $options.='<option value='.$station->station_id.'>'.$station->station_profile_name.' ('.$station->station_callsign.')</option>';
} }
echo $options.'</select></td><td><button class="btn btn-warning" onClick="reassign(\''.$call['COL_STATION_CALLSIGN'].'\',$(\'#station_profile option:selected\').val());"><i class="fas fa-sync"></i>Reassign</a></button></td></tr>'; echo $options.'</select></td><td><button class="btn btn-warning" onClick="reassign(\''.$call['COL_STATION_CALLSIGN'].'\',$(\'#station_profile option:selected\').val());"><i class="fas fa-sync"></i> Reassign</a></button></td></tr>';
} ?> } ?>
</tbody> </tbody>
</table> </table>

查看文件

@ -1,8 +1,15 @@
function reassign(call,target_profile_id) { function reassign(call,target_profile_id) {
let qsoids = [];
let elements = document.getElementsByName("cBox[]");
elements.forEach((item) => {
if (item.checked) {
qsoids.push(item.value);
}
});
$.ajax({ $.ajax({
url: base_url + 'index.php/maintenance/reassign', url: base_url + 'index.php/maintenance/reassign',
type: 'post', type: 'post',
data: {'call': call, 'station_id': target_profile_id}, data: {'call': call, 'station_id': target_profile_id, 'qsoids' : qsoids},
success: function (resu) { success: function (resu) {
if (resu.status) { if (resu.status) {
location.reload(); location.reload();
@ -10,3 +17,21 @@ function reassign(call,target_profile_id) {
} }
}); });
} }
function toggleAll(source) {
console.log('test');
if (source.checked) {
let elements = document.getElementsByName("cBox[]");
elements.forEach((item) => {
item.checked = true;
})
source.checked = true;
}
if (!source.checked) {
let elements = document.getElementsByName("cBox[]");
elements.forEach((item) => {
item.checked = false;
})
source.checked = false;
}
}