Merge pull request #1739 from AndreasK79/wrong_cq_zone

这个提交包含在:
Andreas Kristiansen 2022-11-07 07:20:50 +01:00 提交者 GitHub
当前提交 64bbed8991
找不到此签名对应的密钥
GPG 密钥 ID: 4AEE18F83AFDEB23
共有 10 个文件被更改,包括 1227 次插入1 次删除

查看文件

@ -21,7 +21,7 @@ $config['migration_enabled'] = TRUE;
| be upgraded / downgraded to.
|
*/
$config['migration_version'] = 104;
$config['migration_version'] = 105;
/*
|--------------------------------------------------------------------------

查看文件

@ -747,6 +747,39 @@ class Logbook extends CI_Controller {
}
function search_incorrect_cq_zones($station_id) {
$station_id = $this->security->xss_clean($station_id);
$this->load->model('user_model');
if(!$this->user_model->authorize($this->config->item('auth_mode'))) { return; }
$CI =& get_instance();
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
if (!$logbooks_locations_array) {
return null;
}
$location_list = "'".implode("','",$logbooks_locations_array)."'";
$sql = 'select *, (select group_concat(distinct cqzone order by cqzone) from dxcc_master where countrycode = thcv.col_dxcc and cqzone <> \'\' order by cqzone asc) as correctcqzone from ' . $this->config->item('table_name') .
' thcv join station_profile on thcv.station_id = station_profile.station_id where thcv.station_id in ('. $location_list . ')
and not exists (select 1 from dxcc_master where countrycode = thcv.col_dxcc and cqzone = col_cqz) and col_dxcc > 0
';
if ($station_id != 'All') {
$sql .= ' and station_profile.station_id = ' . $station_id;
}
$query = $this->db->query($sql);
$data['qsos'] = $query;
$this->load->view('search/cqzones_result.php', $data);
}
/*
* Provide a dxcc search, returning results json encoded
*/

查看文件

@ -68,6 +68,18 @@ class Search extends CI_Controller {
$this->load->view('interface_assets/footer');
}
// Searches for incorrect CQ Zones
public function incorrect_cq_zones() {
$this->load->model('stations');
$data['station_profile'] = $this->stations->all_of_user();
$data['page_title'] = "Incorrectly logged CQ zones";
$this->load->view('interface_assets/header', $data);
$this->load->view('search/cqzones');
$this->load->view('interface_assets/footer');
}
function json_result() {
if(isset($_POST['search'])) {
$result = $this->fetchQueryResult($_POST['search'], false);

文件差异内容过多而无法显示 加载差异

查看文件

@ -920,6 +920,29 @@ function findduplicates(){
});
}
function findincorrectcqzones() {
event.preventDefault();
$('#partial_view').load(base_url+"index.php/logbook/search_incorrect_cq_zones/"+$("#station_id").val(), function() {
$('.qsolist').DataTable({
"pageLength": 25,
responsive: false,
ordering: false,
"scrollY": "500px",
"scrollCollapse": true,
"paging": false,
"scrollX": true,
dom: 'Bfrtip',
buttons: [
'csv'
]
});
// change color of csv-button if dark mode is chosen
if (isDarkModeTheme()) {
$(".buttons-csv").css("color", "white");
}
});
}
function searchButtonPress(){
event.preventDefault()
if ($('#callsign').val()) {

查看文件

@ -0,0 +1,47 @@
<div class="container search">
<h1>
Search
<small class="text-muted">Ready to find a QSO?</small>
</h1>
<div class="card text-center">
<div class="card-header">
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('search'); ?>">Search</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('search/filter'); ?>">Advanced Search</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('search/duplicates'); ?>">Duplicate QSOs</a>
</li>
</li>
<li class="nav-item">
<a class="nav-link active" href="<?php echo site_url('search/incorrect_cq_zones'); ?>">Incorrect CQ Zones</a>
</li>
</ul>
</div>
<div class="card-body">
<form method="post" action="" id="search_box" name="test">
<div class="form-group row">
<label for="callsign" class="col-sm-2 col-form-label">Station location:</label>
<select id="station_id" name="station_profile" class="custom-select col-sm-3 mb-3 mr-sm-3">
<option value="All">All</option>
<?php foreach ($station_profile->result() as $station) { ?>
<option value="<?php echo $station->station_id; ?>">Callsign: <?php echo $station->station_callsign; ?> (<?php echo $station->station_profile_name; ?>)</option>
<?php } ?>
</select>
<div class="col-sm-2">
<button onclick="findincorrectcqzones();" class="btn btn-outline-success my-2 my-sm-0" type="submit"><i class="fas fa-search"></i> Search</button>
</div>
</div>
</form>
<div id="partial_view"></div>
</div>
</div>
</div>

查看文件

@ -0,0 +1,51 @@
<?php
if ($qsos->result() != NULL) {
Echo 'The following QSOs were found to have an incorrect CQ zone that this DXCC normally has:';
echo '<table style="width:100%" class="qsolist table-sm table-bordered table-hover table-striped table-condensed">
<thead>
<tr>
<th style=\'text-align: center\'>Date</th>
<th style=\'text-align: center\'>Time</th>
<th style=\'text-align: center\'>'.$this->lang->line('gen_hamradio_callsign').'</th>
<th style=\'text-align: center\'>' . $this->lang->line('gen_hamradio_mode') . '</th>
<th style=\'text-align: center\'>' . $this->lang->line('gen_hamradio_band') . '</th>
<th style=\'text-align: center\'>CQ Zone</th>
<th style=\'text-align: center\'>DXCC CQ Zone</th>
<th style=\'text-align: center\'>DXCC</th>
<th style=\'text-align: center\'>' . $this->lang->line('gen_hamradio_station') . '</th>
</tr>
</thead><tbody>';
// Get Date format
if($this->session->userdata('user_date_format')) {
// If Logged in and session exists
$custom_date_format = $this->session->userdata('user_date_format');
} else {
// Get Default date format from /config/cloudlog.php
$custom_date_format = $this->config->item('qso_date_format');
}
$i = 0;
foreach ($qsos->result() as $qso) {
echo '<tr>';
echo '<td style=\'text-align: center\'>'; $timestamp = strtotime($qso->COL_TIME_ON); echo date($custom_date_format, $timestamp); echo '</td>';
echo '<td style=\'text-align: center\'>'; $timestamp = strtotime($qso->COL_TIME_ON); echo date('H:i', $timestamp); echo '</td>';
echo '<td style=\'text-align: center\'><a id="edit_qso" href="javascript:displayQso(' . $qso->COL_PRIMARY_KEY . ')">' . str_replace("0","&Oslash;",strtoupper($qso->COL_CALL)) . '</a></td>';
echo '<td style=\'text-align: center\'>'; echo $qso->COL_SUBMODE==null?$qso->COL_MODE:$qso->COL_SUBMODE; echo '</td>';
echo '<td style=\'text-align: center\'>'; if($qso->COL_SAT_NAME != null) { echo $qso->COL_SAT_NAME; } else { echo strtolower($qso->COL_BAND); }; echo '</td>';
echo '<td style=\'text-align: center\'>' . $qso->COL_CQZ . '</td>';
echo '<td style=\'text-align: center\'>' . $qso->correctcqzone . '</td>';
echo '<td style=\'text-align: center\'>' . ucwords(strtolower($qso->COL_COUNTRY), "- (/") . '</td>';
echo '<td style=\'text-align: center\'><span class="badge badge-light">' . $qso->station_callsign . '</span></td>';
echo '</tr>';
}
echo '</tbody></table>';
?>
<?php
} else {
echo '<div class="alert alert-danger"><a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>No duplicate QSO\'s were found.</div>';
}
?>

查看文件

@ -16,6 +16,10 @@
</li>
<li class="nav-item">
<a class="nav-link active" href="<?php echo site_url('search/duplicates'); ?>">Duplicate QSOs</a>
</li>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('search/incorrect_cq_zones'); ?>">Incorrect CQ Zones</a>
</li>
</ul>
</div>

查看文件

@ -24,6 +24,10 @@
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('search/duplicates'); ?>">Duplicate QSOs</a>
</li>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('search/incorrect_cq_zones'); ?>">Incorrect CQ Zones</a>
</li>
</ul>
</div>

查看文件

@ -16,6 +16,9 @@
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('search/duplicates'); ?>">Duplicate QSOs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="<?php echo site_url('search/incorrect_cq_zones'); ?>">Incorrect CQ Zones</a>
</li>
</ul>
</div>