Apply LoTW ignore also to RCVD fields

This commit is contained in:
phl0
2024-07-12 18:45:25 +02:00
parent 7510503b24
commit 17542767b5
9 changed files with 53 additions and 22 deletions

View File

@@ -6,7 +6,7 @@ class Migration_unmark_unsupported_lotw_uploads extends CI_Migration
public function up() { public function up() {
$this->db->where_in('COL_PROP_MODE', $this->config->item('lotw_unsupported_prop_modes')); $this->db->where_in('COL_PROP_MODE', $this->config->item('lotw_unsupported_prop_modes'));
$this->db->update($this->config->item('table_name'), array('COL_LOTW_QSLSDATE' => null, 'COL_LOTW_QSL_SENT' => 'I')); $this->db->update($this->config->item('table_name'), array('COL_LOTW_QSLSDATE' => null, 'COL_LOTW_QSL_SENT' => 'I', 'COL_LOTW_QSLRDATE' => null, 'COL_LOTW_QSL_RCVD' => 'I'));
} }
public function down() { public function down() {

View File

@@ -1238,7 +1238,9 @@ class Logbook_model extends CI_Model {
$lotw_sent = 'N'; $lotw_sent = 'N';
} }
if ($this->input->post('lotw_rcvd') && !in_array($this->input->post('prop_mode'), $this->config->item('lotw_unsupported_prop_modes'))) { if (in_array($this->input->post('prop_mode'), $this->config->item('lotw_unsupported_prop_modes'))) {
$lotw_rcvd = 'I';
} elseif ($this->input->post('lotw_rcvd')) {
$lotw_rcvd = $this->input->post('lotw_rcvd'); $lotw_rcvd = $this->input->post('lotw_rcvd');
} else { } else {
$lotw_rcvd = 'N'; $lotw_rcvd = 'N';
@@ -4890,6 +4892,8 @@ function lotw_last_qsl_date($user_id) {
$data = array( $data = array(
'COL_LOTW_QSLSDATE' => null, 'COL_LOTW_QSLSDATE' => null,
'COL_LOTW_QSL_SENT' => 'I', 'COL_LOTW_QSL_SENT' => 'I',
'COL_LOTW_QSLRDATE' => null,
'COL_LOTW_QSL_RCVD' => 'I',
); );
$this->db->where("station_id", $station_id); $this->db->where("station_id", $station_id);
$this->db->where_in('COL_PROP_MODE', $this->config->item('lotw_unsupported_prop_modes')); $this->db->where_in('COL_PROP_MODE', $this->config->item('lotw_unsupported_prop_modes'));

View File

@@ -176,11 +176,13 @@ if ($qsos->result() != NULL) {
$timestamp = strtotime($qsl->COL_LOTW_QSLRDATE); $timestamp = strtotime($qsl->COL_LOTW_QSLRDATE);
echo " ".($timestamp != '' ? date($custom_date_format, $timestamp) : ''); echo " ".($timestamp != '' ? date($custom_date_format, $timestamp) : '');
} }
echo "\" data-bs-toggle=\"tooltip\""; echo "\" data-bs-toggle=\"tooltip\" class=\"lotw-green\"";
} elseif ($qsl->COL_LOTW_QSL_RCVD == "I") {
echo " class=\"qsl-grey\" data-bs-toggle=\"tooltip\" title=\"".__("Invalid (Ignore)")."\"";
} else {
echo " class=\"lotw-red\"";
} }
echo ' class="lotw-'; echo '>&#9660;</span>';
echo ($qsl->COL_LOTW_QSL_RCVD=='Y')?'green':'red';
echo '">&#9660;</span>';
echo '</td>'; echo '</td>';
} }
echo '<td id="'.$qsl->COL_PRIMARY_KEY.'" style=\'text-align: center\'><button onclick="addQsoToPrintQueue(\''.$qsl->COL_PRIMARY_KEY.'\')" class="btn btn-sm btn-success">' . __("Add to print queue") . '</button></td>'; echo '<td id="'.$qsl->COL_PRIMARY_KEY.'" style=\'text-align: center\'><button onclick="addQsoToPrintQueue(\''.$qsl->COL_PRIMARY_KEY.'\')" class="btn btn-sm btn-success">' . __("Add to print queue") . '</button></td>';

View File

@@ -184,11 +184,13 @@ if ($qsos->result() != NULL) {
$timestamp = strtotime($qsl->COL_LOTW_QSLRDATE); $timestamp = strtotime($qsl->COL_LOTW_QSLRDATE);
echo " ".($timestamp != '' ? date($custom_date_format, $timestamp) : ''); echo " ".($timestamp != '' ? date($custom_date_format, $timestamp) : '');
} }
echo "\" data-bs-toggle=\"tooltip\""; echo "\" data-bs-toggle=\"tooltip\" class=\"lotw-green\"";
} elseif ($qsl->COL_LOTW_QSL_RCVD == "I") {
echo "class=\"lotw-grey\" data-bs-toggle=\"tooltip\" title=\"".__("Invalid (Ignore)")."\"";
} else {
echo " class=\"lotw-red\"";
} }
echo ' class="lotw-'; echo '>&#9660;</span>';
echo ($qsl->COL_LOTW_QSL_RCVD=='Y')?'green':'red';
echo '">&#9660;</span>';
echo '</td>'; echo '</td>';
} }
echo '<td id="'.$qsl->COL_PRIMARY_KEY.'" style=\'text-align: center\'><button onclick="addQsoToPrintQueue(\''.$qsl->COL_PRIMARY_KEY.'\')" class="btn btn-sm btn-success">' . __("Add to print queue") . '</button></td>'; echo '<td id="'.$qsl->COL_PRIMARY_KEY.'" style=\'text-align: center\'><button onclick="addQsoToPrintQueue(\''.$qsl->COL_PRIMARY_KEY.'\')" class="btn btn-sm btn-success">' . __("Add to print queue") . '</button></td>';

View File

@@ -208,7 +208,7 @@
<option value="TEP" <?php if($qso->COL_PROP_MODE == "TEP") { echo "selected=\"selected\""; } ?>><?= _pgettext("Propagation Mode","Trans-equatorial"); ?></option> <option value="TEP" <?php if($qso->COL_PROP_MODE == "TEP") { echo "selected=\"selected\""; } ?>><?= _pgettext("Propagation Mode","Trans-equatorial"); ?></option>
<option value="TR" <?php if($qso->COL_PROP_MODE == "TR") { echo "selected=\"selected\""; } ?>><?= _pgettext("Propagation Mode","Tropospheric ducting"); ?></option> <option value="TR" <?php if($qso->COL_PROP_MODE == "TR") { echo "selected=\"selected\""; } ?>><?= _pgettext("Propagation Mode","Tropospheric ducting"); ?></option>
</select> </select>
<small id="lotw_sent_hint" class="form-text text-muted"><?php if (in_array($qso->COL_PROP_MODE, $this->config->item('lotw_unsupported_prop_modes'))) { echo __("This propagation mode is not supported by LoTW. LoTW sent/received fields disabled."); } else { echo "&nbsp;"; } ?></small> <small id="lotw_propmode_hint" class="form-text text-muted"><?php if (in_array($qso->COL_PROP_MODE, $this->config->item('lotw_unsupported_prop_modes'))) { echo __("This propagation mode is not supported by LoTW. LoTW sent/received fields disabled."); } else { echo "&nbsp;"; } ?></small>
</div> </div>
<input type="hidden" class="form-control" id="country" name="country" value="<?php echo $qso->COL_COUNTRY; ?>"> <input type="hidden" class="form-control" id="country" name="country" value="<?php echo $qso->COL_COUNTRY; ?>">
@@ -502,7 +502,7 @@
<div class="mb-3 row"> <div class="mb-3 row">
<label for="sent" class="col-sm-3 col-form-label"><?= __("Received"); ?></label> <label for="sent" class="col-sm-3 col-form-label"><?= __("Received"); ?></label>
<div class="col-sm-9"> <div class="col-sm-9">
<select class="form-select" name="lotw_rcvd"> <select class="form-select" id="lotw_rcvd" name="lotw_rcvd" <?php if (in_array($qso->COL_PROP_MODE, $this->config->item('lotw_unsupported_prop_modes'))) { echo "disabled=\"disabled\""; } ?>>
<option value="N" <?php if($qso->COL_LOTW_QSL_RCVD == "N") { echo "selected=\"selected\""; } ?>><?= __("No"); ?></option> <option value="N" <?php if($qso->COL_LOTW_QSL_RCVD == "N") { echo "selected=\"selected\""; } ?>><?= __("No"); ?></option>
<option value="Y" <?php if($qso->COL_LOTW_QSL_RCVD == "Y") { echo "selected=\"selected\""; } ?>><?= __("Yes"); ?></option> <option value="Y" <?php if($qso->COL_LOTW_QSL_RCVD == "Y") { echo "selected=\"selected\""; } ?>><?= __("Yes"); ?></option>
<option value="R" <?php if($qso->COL_LOTW_QSL_RCVD == "R") { echo "selected=\"selected\""; } ?>><?= __("Requested"); ?></option> <option value="R" <?php if($qso->COL_LOTW_QSL_RCVD == "R") { echo "selected=\"selected\""; } ?>><?= __("Requested"); ?></option>

View File

@@ -315,11 +315,13 @@ $ci =& get_instance();
$timestamp = strtotime($row->COL_LOTW_QSLRDATE); $timestamp = strtotime($row->COL_LOTW_QSLRDATE);
echo " ".($timestamp != '' ? date($custom_date_format, $timestamp) : ''); echo " ".($timestamp != '' ? date($custom_date_format, $timestamp) : '');
} }
echo "\" data-bs-toggle=\"tooltip\""; echo "\" data-bs-toggle=\"tooltip\" class=\"lotw-green\"";
} elseif ($row->COL_LOTW_QSL_RCVD == "I") {
echo "class=\"lotw-grey\" data-bs-toggle=\"tooltip\" title=\"".__("Invalid (Ignore)")."\"";
} else {
echo "class=\"lotw-red\"";
} }
echo ' class="lotw-'; echo '>&#9660;</span>';
echo ($row->COL_LOTW_QSL_RCVD=='Y')?'green':'red';
echo '">&#9660;</span>';
echo '</td>'; echo '</td>';
} ?> } ?>

View File

@@ -244,7 +244,23 @@ function echo_table_col($row, $name) {
break; break;
} }
?>>&#9650;</span> ?>>&#9650;</span>
<span <?php if ($row->COL_LOTW_QSL_RCVD == "Y") { echo "title=\"".__("LoTW")." ".__("Received"); if ($row->COL_LOTW_QSLRDATE != null) { $timestamp = strtotime($row->COL_LOTW_QSLRDATE); echo " ".($timestamp!=''?date($custom_date_format, $timestamp):''); } echo "\" data-bs-toggle=\"tooltip\""; } ?> class="lotw-<?php echo ($row->COL_LOTW_QSL_RCVD=='Y')?'green':'red'?>">&#9660;</span> <span <?php switch ($row->COL_LOTW_QSL_RCVD) {
case "Y":
echo "title=\"".__("LoTW")." ".__("Received");
if ($row->COL_LOTW_QSLRDATE != null) {
$timestamp = strtotime($row->COL_LOTW_QSLRDATE);
echo " ".($timestamp!=''?date($custom_date_format, $timestamp):'');
}
echo "\" data-bs-toggle=\"tooltip\" class=\"lotw-green\"";
break;
case "I":
echo " class=\"lotw-grey\" data-bs-toggle=\"tooltip\" title=\"".__("Invalid (Ignore)")."\"";
break;
default:
echo " class=\"lotw-red\"";
break;
}
?>>&#9660;</span>
</td> </td>
<?php } ?> <?php } ?>

View File

@@ -278,10 +278,12 @@ function qso_edit(id) {
$('#prop_mode').change(function(){ $('#prop_mode').change(function(){
if (unsupported_lotw_prop_modes.includes($('#prop_mode').val())) { if (unsupported_lotw_prop_modes.includes($('#prop_mode').val())) {
$('#lotw_sent').prop('disabled', true); $('#lotw_sent').prop('disabled', true);
$('#lotw_sent_hint').html("This propagation mode is not supported by LoTW. LoTW sent/received fields disabled.").fadeIn("slow"); $('#lotw_rcvd').prop('disabled', true);
$('#lotw_propmode_hint').html("This propagation mode is not supported by LoTW. LoTW sent/received fields disabled.").fadeIn("slow");
} else { } else {
$('#lotw_sent').prop('disabled', false); $('#lotw_sent').prop('disabled', false);
$('#lotw_sent_hint').html("&nbsp;").fadeIn("fast"); $('#lotw_rcvd').prop('disabled', false);
$('#lotw_propmode_hint').html("&nbsp;").fadeIn("fast");
} }
}); });

View File

@@ -386,11 +386,14 @@ class QSO
$timestamp = strtotime($data['COL_LOTW_QSLRDATE']); $timestamp = strtotime($data['COL_LOTW_QSLRDATE']);
$lotwstring .= " ". ($timestamp != '' ? date($custom_date_format, $timestamp) : ''); $lotwstring .= " ". ($timestamp != '' ? date($custom_date_format, $timestamp) : '');
} }
$lotwstring .= "\" data-bs-toggle=\"tooltip\" class=\"lotw-green\"";
$lotwstring .= "\" data-bs-toggle=\"tooltip\""; } elseif ($data['COL_LOTW_QSL_RCVD'] == "I") {
$lotwstring .= "class=\"lotw-grey\" data-bs-toggle=\"tooltip\" title=\"".__("Invalid (Ignore)")."\"";
} else {
$lotwstring .= "class=\"lotw-red\"";
} }
$lotwstring .= ' class="lotw-' . (($data['COL_LOTW_QSL_RCVD']=='Y') ? 'green':'red') . '">&#9660;</span>'; $lotwstring .= '>&#9660;</span>';
return $lotwstring; return $lotwstring;
} }