From 8a313668b971df22cb4391977bb93567141f8d14 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Sun, 6 Jul 2025 15:43:48 +0200 Subject: [PATCH] Added bandedge deletion --- application/controllers/Band.php | 16 ++++- application/models/Bands.php | 30 ++++++++++ application/views/bands/bandedges.php | 6 +- assets/js/sections/bandedges.js | 86 +++++++++++++++++++++++++++ 4 files changed, 134 insertions(+), 4 deletions(-) create mode 100644 assets/js/sections/bandedges.js diff --git a/application/controllers/Band.php b/application/controllers/Band.php index 7dea9fb4f..d5caa1a4b 100644 --- a/application/controllers/Band.php +++ b/application/controllers/Band.php @@ -34,11 +34,16 @@ class Band extends CI_Controller { $data['bands'] = $this->bands->get_all_bandedges_for_user(); + $footerData = []; + $footerData['scripts'] = [ + 'assets/js/sections/bandedges.js?' . filemtime(realpath(__DIR__ . "/../../assets/js/sections/bandedges.js")), + ]; + // Render Page $data['page_title'] = __("Bands"); $this->load->view('interface_assets/header', $data); $this->load->view('bands/bandedges'); - $this->load->view('interface_assets/footer'); + $this->load->view('interface_assets/footer', $footerData); } public function create() @@ -184,4 +189,13 @@ class Band extends CI_Controller { $this->user_options_model->set_option('frequency', 'unit', array($band => $unit)); $this->session->set_userdata('qrgunit_'.$band, $unit); } + + public function deletebandedge() { + $id = $this->input->post('id'); + $this->load->model('bands'); + $this->bands->deletebandedge($id); + header('Content-Type: application/json'); + echo json_encode(array('message' => 'OK')); + return; + } } diff --git a/application/models/Bands.php b/application/models/Bands.php index f862493e1..cac64f5f7 100644 --- a/application/models/Bands.php +++ b/application/models/Bands.php @@ -109,12 +109,34 @@ class Bands extends CI_Model { return $result; } + $this->insert_band_edges_for_user(); + $this->db->from('bandedges'); $this->db->where('bandedges.userid', -1); return $this->db->get()->result(); } + function insert_band_edges_for_user() { + // Get band edges from default user + $this->db->from('bandedges'); + $this->db->where('bandedges.userid', -1); + $result = $this->db->get()->result(); + + if ($result) { + foreach($result as $edge) { + $data = array( + 'frequencyfrom' => $edge->frequencyfrom, + 'frequencyto' => $edge->frequencyto, + 'mode' => $edge->mode, + 'userid' => $this->session->userdata('user_id') + ); + $this->db->insert('bandedges', $data); + } + } + return true; + } + function all() { return $this->bandslots; } @@ -426,6 +448,14 @@ class Bands extends CI_Model { return $worked_slots; } + + function deletebandedge($id) { + // Clean ID + $clean_id = $this->security->xss_clean($id); + + // Delete Bandedge + $this->db->delete('bandedges', array('id' => $clean_id, 'userid' => $this->session->userdata('user_id'))); + } } ?> diff --git a/application/views/bands/bandedges.php b/application/views/bands/bandedges.php index 096420644..be095ed5c 100644 --- a/application/views/bands/bandedges.php +++ b/application/views/bands/bandedges.php @@ -30,11 +30,11 @@