From 31bf0b0e6d4f55645759b2575e15eaac37a8a78c Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Tue, 20 Feb 2024 18:10:01 +0100 Subject: [PATCH] Services: Kea DHCP: Kea DHCPv4 - add export as csv on reservations using https://github.com/opnsense/core/commit/a8d1a84fbae49e148c9466a29f9d1ed5ac56c23c --- .../OPNsense/Kea/Api/Dhcpv4Controller.php | 8 ++++++++ src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt | 12 +++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php b/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php index 954e0bc0a..a1f7e554e 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/Dhcpv4Controller.php @@ -105,6 +105,14 @@ class Dhcpv4Controller extends ApiMutableModelControllerBase return $this->delBase("reservations.reservation", $uuid); } + public function downloadReservationsAction() + { + if ($this->request->isGet()) { + $this->sessionClose(); + $this->exportCsv($this->getModel()->reservations->reservation->asRecordSet(false, ['subnet'])); + } + } + public function searchPeerAction() { return $this->searchBase("ha_peers.peer", ['name', 'role'], "name"); diff --git a/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt b/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt index e0d5b184d..a13d78dbc 100644 --- a/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt +++ b/src/opnsense/mvc/app/views/OPNsense/Kea/dhcpv4.volt @@ -80,6 +80,11 @@ } }); + $("#download_reservations").click(function(e){ + e.preventDefault(); + window.open("/api/kea/dhcpv4/download_reservations"); + }); + /** * */ @@ -121,7 +126,7 @@ - + @@ -147,7 +152,8 @@ - + + @@ -170,7 +176,7 @@ - +