diff --git a/application/controllers/Qso.php b/application/controllers/Qso.php index 0bcd6b22e..e8e2f957d 100755 --- a/application/controllers/Qso.php +++ b/application/controllers/Qso.php @@ -237,6 +237,27 @@ class QSO extends CI_Controller { } } + function qsl_ignore_ajax() { + $id = str_replace('"', "", $this->input->post("id")); + $method = str_replace('"', "", $this->input->post("method")); + + $this->load->model('logbook_model'); + $this->load->model('user_model'); + + header('Content-Type: application/json'); + + if(!$this->user_model->authorize(2)) { + echo json_encode(array('message' => 'Error')); + + } + else { + // Update Logbook to Mark Paper Card Received + $this->logbook_model->paperqsl_ignore($id, $method); + + echo json_encode(array('message' => 'OK')); + } + } + /* Delete QSO */ function delete($id) { $this->load->model('logbook_model'); diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php index 12d5b2b16..c4881033e 100755 --- a/application/models/Logbook_model.php +++ b/application/models/Logbook_model.php @@ -768,6 +768,19 @@ class Logbook_model extends CI_Model { $this->db->update($this->config->item('table_name'), $data); } + + function paperqsl_ignore($qso_id, $method) { + + $data = array( + 'COL_QSLSDATE' => date('Y-m-d'), + 'COL_QSL_SENT' => 'I' + ); + + $this->db->where('COL_PRIMARY_KEY', $qso_id); + + $this->db->update($this->config->item('table_name'), $data); + } + function get_qsos_for_printing() { $CI =& get_instance(); $CI->load->model('Stations'); diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php index 81d4b96a2..1815ea9e2 100644 --- a/application/views/interface_assets/footer.php +++ b/application/views/interface_assets/footer.php @@ -1333,6 +1333,27 @@ $(document).ready(function(){ }); } + // Function: qsl_ignore + // Marks QSL card ignore against the QSO. + function qsl_ignore(id, method) { + var baseURL= ""; + $.ajax({ + url: baseURL + 'index.php/qso/qsl_ignore_ajax', + type: 'post', + data: {'id': id, + 'method': method + }, + success: function(data) { + if (data.message == 'OK') { + $("#qso_" + id).find("td:eq(8)").find("span:eq(0)").attr('class', 'qsl-red'); // Paints arrow green + } + else { + $(".bootstrap-dialog-message").append('
×You are not allowed to update QSL status!
'); + } + } + }); + } + function qso_delete(id, call) { BootstrapDialog.confirm({ title: 'DANGER', diff --git a/application/views/view_log/partial/log_ajax.php b/application/views/view_log/partial/log_ajax.php index 4ebb61e8d..ea6a248c8 100644 --- a/application/views/view_log/partial/log_ajax.php +++ b/application/views/view_log/partial/log_ajax.php @@ -248,6 +248,8 @@ Mark QSL Card Requested + Mark QSL Card Not Required + lang->line('general_delete_qso'); ?>