Merge pull request #1383 from phl0/dokSort

Sort DOK by default and add type selection form
pull/1384/head
Peter Goodhall 2022-01-26 14:27:30 +00:00 zatwierdzone przez GitHub
commit 6efd4869c4
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
5 zmienionych plików z 48 dodań i 12 usunięć

Wyświetl plik

@ -30,7 +30,12 @@ class Awards extends CI_Controller {
$this->load->model('dok');
$this->load->model('bands');
$data['doks'] = $this->dok->show_stats();
if($this->input->method() === 'post') {
$postdata['doks'] = $this->input->post('doks');
} else {
$postdata['doks'] = 'both';
}
$data['doks'] = $this->dok->show_stats($postdata);
$data['worked_bands'] = $this->bands->get_worked_bands_dok(); // Used in the view for band select

Wyświetl plik

@ -415,7 +415,7 @@ class API_Model extends CI_Model {
'COL_CONTEST_ID' => array('Name' => 'ContestID', 'Description' => '', 'Type' => ''),
'COL_COUNTRY' => array('Name' => 'Country', 'Description' => '', 'Type' => ''),
'COL_CQZ' => array('Name' => 'CQZone', 'Description' => '', 'Type' => ''),
'COL_DARC_DOK' => array('Name' => 'Dok', 'Description' => '', 'Type' => ''),
'COL_DARC_DOK' => array('Name' => 'DOK', 'Description' => '', 'Type' => ''),
'COL_DISTANCE' => array('Name' => 'Distance', 'Description' => '', 'Type' => ''),
'COL_DXCC' => array('Name' => 'DXCC', 'Description' => '', 'Type' => ''),
'COL_EMAIL' => array('Name' => 'EMail', 'Description' => '', 'Type' => ''),

Wyświetl plik

@ -2,7 +2,7 @@
class DOK extends CI_Model {
function show_stats() {
function show_stats($postdata) {
$CI =& get_instance();
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
@ -14,12 +14,16 @@ class DOK extends CI_Model {
$this->load->model('bands');
$location_list = "'".implode("','",$logbooks_locations_array)."'";
$sql = "select upper(COL_DARC_DOK) as COL_DARC_DOK, COL_MODE, lcase(COL_BAND) as COL_BAND, count(COL_DARC_DOK) as cnt from ".$this->config->item('table_name')." WHERE station_id in (" . $location_list . ") AND COL_DARC_DOK IS NOT NULL AND COL_DARC_DOK != '' AND COL_DXCC = 230";
if ($postdata['doks'] == 'dok') {
$sql .= " AND REGEXP_LIKE (COL_DARC_DOK, '^[A-Z][0-9]{2}$')";
} else if ($postdata['doks'] == 'sdok') {
$sql .= " AND NOT REGEXP_LIKE (COL_DARC_DOK, '^[A-Z][0-9]{2}$')";
}
$sql .= " group by COL_DARC_DOK, COL_MODE, COL_BAND";
$sql .= " order by COL_DARC_DOK asc";
$data = $this->db->query(
"select upper(COL_DARC_DOK) as COL_DARC_DOK, COL_MODE, lcase(COL_BAND) as COL_BAND, count(COL_DARC_DOK) as cnt
from ".$this->config->item('table_name')." WHERE station_id in (" . $location_list . ") AND COL_DARC_DOK IS NOT NULL AND COL_DARC_DOK != '' AND COL_DXCC = 230
group by COL_DARC_DOK, COL_MODE, COL_BAND"
);
$data = $this->db->query($sql);
$results = array();
$last_dok = "";

Wyświetl plik

@ -2,6 +2,33 @@
<div class="container">
<h2><?php echo $page_title; ?></h2>
<form class="form" action="<?php echo site_url('awards/dok'); ?>" method="post" enctype="multipart/form-data">
<fieldset>
<div class="form-group row">
<label class="col-md-2 control-label" for="dok">Type</label>
<div class="col-md-2">
<select id="doks" name="doks" class="form-control custom-select-sm">
<option value="both" <?php if ($this->input->post('doks') == "both" || $this->input->method() !== 'post') echo ' selected'; ?> >DOK + SDOK</option>
<?php echo '<option value="dok"';
if ($this->input->post('doks') == 'dok') echo ' selected';
echo '>DOK</option>'."\n";
?>
<?php echo '<option value="sdok"';
if ($this->input->post('doks') == 'sdok') echo ' selected';
echo '>SDOK</option>'."\n";
?>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-md-2 control-label" for="button1id"></label>
<div class="col-md-10">
<button id="button2id" type="reset" name="button2id" class="btn-sm btn-warning">Reset</button>
<button id="button1id" type="submit" name="button1id" class="btn-sm btn-primary">Show</button>
</div>
</div>
</fieldset>
</form>
<table class="table table-sm table-striped table-hover">
<?php
if ($worked_bands) {
@ -12,7 +39,7 @@
<td style="width:225px">DOKs (<?php echo count($doks)?>)</td>
<?php
foreach ($worked_bands as $slot) {
echo " <td>$slot</td>\n";
echo " <td style=\"text-align: center;\">$slot</td>\n";
}
?>
</tr>
@ -24,9 +51,9 @@
foreach($val as $band=>$count){
if (in_array($band, $worked_bands)) {
if ($count == 0){
print("<td>&nbsp;</td>");
print("<td style=\"text-align: right; padding-right: 2em\">&nbsp;</td>");
}else{
printf("<td><a href='javascript:displayDokContacts(\"%s\",\"%s\")'>%d</a></td>", str_replace("&", "%26", $dok), $band, $count);
printf("<td style=\"text-align: right; padding-right: 2em\"><a href='javascript:displayDokContacts(\"%s\",\"%s\")'>%d</a></td>", str_replace("&", "%26", $dok), $band, $count);
}
}
}

Wyświetl plik

@ -1313,7 +1313,7 @@ $(document).ready(function(){
$.ajax({
url: baseURL + 'index.php/awards/dok_details_ajax',
type: 'post',
data: {'Dok': dok,
data: {'DOK': dok,
'Band': band
},
success: function(html) {