From 9eee9d9751504f4de14dd5e383ceeab0ad904ca2 Mon Sep 17 00:00:00 2001
From: Andreas <6977712+AndreasK79@users.noreply.github.com>
Date: Fri, 4 Aug 2023 10:00:14 +0200
Subject: [PATCH] [QSLPrint] Fixed js. Added button to mark as sent
---
application/controllers/Qslprint.php | 7 +-
application/views/interface_assets/footer.php | 112 ---------------
application/views/qslprint/qslprint.php | 3 +-
application/views/qslprint/qsolist.php | 12 ++
assets/js/sections/qslprint.js | 128 ++++++++++++++++++
5 files changed, 148 insertions(+), 114 deletions(-)
create mode 100644 assets/js/sections/qslprint.js
diff --git a/application/controllers/Qslprint.php b/application/controllers/Qslprint.php
index 4f7f0b23..9c391c1e 100644
--- a/application/controllers/Qslprint.php
+++ b/application/controllers/Qslprint.php
@@ -38,11 +38,16 @@ class QSLPrint extends CI_Controller {
$data['qsos'] = $this->qslprint_model->get_qsos_for_print();
}
+ $footerData = [];
+ $footerData['scripts'] = [
+ 'assets/js/sections/qslprint.js',
+ ];
+
$data['page_title'] = "Print Requested QSLs";
$this->load->view('interface_assets/header', $data);
$this->load->view('qslprint/index');
- $this->load->view('interface_assets/footer');
+ $this->load->view('interface_assets/footer', $footerData);
}
diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php
index 0c2fcb1d..def9c498 100644
--- a/application/views/interface_assets/footer.php
+++ b/application/views/interface_assets/footer.php
@@ -2808,118 +2808,6 @@ function viewEqsl(picture, callsign) {
-uri->segment(1) == "qslprint") { ?>
-
-
-
uri->segment(1) == "awards") {
// Get Date format
if($this->session->userdata('user_date_format')) {
diff --git a/application/views/qslprint/qslprint.php b/application/views/qslprint/qslprint.php
index f543733b..7b347030 100644
--- a/application/views/qslprint/qslprint.php
+++ b/application/views/qslprint/qslprint.php
@@ -24,6 +24,7 @@ if ($qsos->result() != NULL) {
' . lang('gen_hamradio_qsl') . ' ' . lang('general_word_qslcard_via') . ' |
' . lang('gen_hamradio_station') . ' |
Sent method |
+Mark as sent |
Delete |
QSO List |
@@ -48,11 +49,11 @@ if ($qsos->result() != NULL) {
echo '' . $qsl->COL_QSL_VIA . ' | ';
echo '' . $qsl->station_callsign . ' | ';
echo ''; echo_qsl_sent_via($qsl->COL_QSL_SENT_VIA); echo ' | ';
+ echo ' | ';
echo ' | ';
echo ' | ';
echo '';
}
-
echo '';
?>
diff --git a/application/views/qslprint/qsolist.php b/application/views/qslprint/qsolist.php
index 8d6e8109..3cbf6699 100644
--- a/application/views/qslprint/qsolist.php
+++ b/application/views/qslprint/qsolist.php
@@ -9,6 +9,8 @@ if ($qsos->result() != NULL) {
' . lang('gen_hamradio_mode') . ' |
' . lang('gen_hamradio_band') . ' |
' . lang('gen_hamradio_station') . ' |
+ ' . lang('gen_hamradio_qsl') . ' ' . lang('general_word_qslcard_via') . ' |
+ Sent method |
QSL | ';
if ($this->session->userdata('user_eqsl_name') != "") {
echo 'eQSL | ';
@@ -37,6 +39,8 @@ if ($qsos->result() != NULL) {
echo ''; echo $qsl->COL_SUBMODE==null?$qsl->COL_MODE:$qsl->COL_SUBMODE; echo ' | ';
echo ''; if($qsl->COL_SAT_NAME != null) { echo $qsl->COL_SAT_NAME; } else { echo strtolower($qsl->COL_BAND); }; echo ' | ';
echo '' . $qsl->station_callsign . ' | ';
+ echo '' . $qsl->COL_QSL_VIA . ' | ';
+ echo ''; echo_qsl_sent_via($qsl->COL_QSL_SENT_VIA); echo ' | ';
echo '';
echo 'COL_QSL_SENT != "N") {
@@ -192,4 +196,12 @@ if ($qsos->result() != NULL) {
} else {
echo '×No additional QSO\'s were found. That means they are probably already in the queue. ';
}
+
+function echo_qsl_sent_via($method) {
+ switch($method) {
+ case 'B': echo 'Bureau'; break;
+ case 'D': echo 'Direct'; break;
+ case 'E': echo 'Electronic'; break;
+ }
+}
?>
diff --git a/assets/js/sections/qslprint.js b/assets/js/sections/qslprint.js
new file mode 100644
index 00000000..a9be815b
--- /dev/null
+++ b/assets/js/sections/qslprint.js
@@ -0,0 +1,128 @@
+function deleteFromQslQueue(id) {
+ BootstrapDialog.confirm({
+ title: 'DANGER',
+ message: 'Warning! Are you sure you want to removes this QSL from the queue?',
+ type: BootstrapDialog.TYPE_DANGER,
+ closable: true,
+ draggable: true,
+ btnOKClass: 'btn-danger',
+ callback: function(result) {
+ $.ajax({
+ url: base_url + 'index.php/qslprint/delete_from_qsl_queue',
+ type: 'post',
+ data: {'id': id },
+ success: function(html) {
+ $("#qslprint_"+id).remove();
+ }
+ });
+ }
+ });
+}
+
+function openQsoList(callsign) {
+ $.ajax({
+ url: base_url + 'index.php/qslprint/open_qso_list',
+ type: 'post',
+ data: {'callsign': callsign},
+ success: function(html) {
+ BootstrapDialog.show({
+ title: 'QSO List',
+ size: BootstrapDialog.SIZE_WIDE,
+ cssClass: 'qso-dialog',
+ nl2br: false,
+ message: html,
+ onshown: function(dialog) {
+ $('[data-toggle="tooltip"]').tooltip();
+ },
+ buttons: [{
+ label: 'Close',
+ action: function (dialogItself) {
+ dialogItself.close();
+ }
+ }]
+ });
+ }
+ });
+}
+
+function addQsoToPrintQueue(id) {
+ $.ajax({
+ url: base_url + 'index.php/qslprint/add_qso_to_print_queue',
+ type: 'post',
+ data: {'id': id},
+ success: function(html) {
+ var line = '';
+ line += ''+$("#qsolist_"+id).find("td:eq(0)").text()+' | ';
+ line += ''+$("#qsolist_"+id).find("td:eq(1)").text()+' | ';
+ line += ''+$("#qsolist_"+id).find("td:eq(2)").text()+' | ';
+ line += ''+$("#qsolist_"+id).find("td:eq(3)").text()+' | ';
+ line += ''+$("#qsolist_"+id).find("td:eq(4)").text()+' | ';
+ line += ''+$("#qsolist_"+id).find("td:eq(6)").text()+' | ';
+ line += ''+$("#qsolist_"+id).find("td:eq(5)").text()+' | ';
+ line += ''+$("#qsolist_"+id).find("td:eq(7)").text()+' | ';
+ line += ' | ';
+ line += ' | ';
+ line += ' | ';
+ line += ' ';
+ $('.table tr:last').after(line);
+ $("#qsolist_"+id).remove();''
+ }
+ });
+}
+
+$(".station_id").change(function(){
+ var station_id = $(".station_id").val();
+ $.ajax({
+ url: base_url + 'index.php/qslprint/get_qsos_for_print_ajax',
+ type: 'post',
+ data: {'station_id': station_id},
+ success: function(html) {
+ $('.resulttable').empty();
+ $('.resulttable').append(html);
+ }
+ });
+});
+
+function showOqrs(id) {
+ $.ajax({
+ url: base_url + 'index.php/qslprint/show_oqrs',
+ type: 'post',
+ data: {'id': id},
+ success: function(html) {
+ BootstrapDialog.show({
+ title: 'OQRS',
+ size: BootstrapDialog.SIZE_WIDE,
+ cssClass: 'qso-dialog',
+ nl2br: false,
+ message: html,
+ onshown: function(dialog) {
+ $('[data-toggle="tooltip"]').tooltip();
+ },
+ buttons: [{
+ label: 'Close',
+ action: function (dialogItself) {
+ dialogItself.close();
+ }
+ }]
+ });
+ }
+ });
+}
+
+function mark_qsl_sent(id, method) {
+ $.ajax({
+ url: base_url + 'index.php/qso/qsl_sent_ajax',
+ type: 'post',
+ data: {'id': id,
+ 'method': method
+ },
+ success: function(data) {
+ if (data.message == 'OK') {
+ $("#qslprint_" + id).remove(); // removes choice from menu
+ }
+ else {
+ $(".container").append('×You are not allowed to update QSL status! ');
+ }
+ }
+ });
+}
|