implement device and profile deletion
This commit is contained in:
parent
a9dbedee6d
commit
3814200452
@ -17,6 +17,7 @@ class SdrDeviceListController(AuthorizationMixin, WebpageController):
|
|||||||
variables = super().template_variables()
|
variables = super().template_variables()
|
||||||
variables["content"] = self.render_devices()
|
variables["content"] = self.render_devices()
|
||||||
variables["title"] = "SDR device settings"
|
variables["title"] = "SDR device settings"
|
||||||
|
variables["modal"] = ""
|
||||||
return variables
|
return variables
|
||||||
|
|
||||||
def render_devices(self):
|
def render_devices(self):
|
||||||
@ -196,6 +197,15 @@ class SdrDeviceController(SdrFormControllerWithModal):
|
|||||||
def getModalConfirmUrl(self):
|
def getModalConfirmUrl(self):
|
||||||
return "{}settings/deletesdr/{}".format(self.get_document_root(), quote(self.device_id))
|
return "{}settings/deletesdr/{}".format(self.get_document_root(), quote(self.device_id))
|
||||||
|
|
||||||
|
def deleteDevice(self):
|
||||||
|
if self.device_id is None:
|
||||||
|
return self.send_response("device not found", code=404)
|
||||||
|
config = Config.get()
|
||||||
|
sdrs = config["sdrs"]
|
||||||
|
del sdrs[self.device_id]
|
||||||
|
config.store()
|
||||||
|
return self.send_redirect("{}settings/sdr".format(self.get_document_root()))
|
||||||
|
|
||||||
|
|
||||||
class NewSdrDeviceController(SettingsFormController):
|
class NewSdrDeviceController(SettingsFormController):
|
||||||
def __init__(self, handler, request, options):
|
def __init__(self, handler, request, options):
|
||||||
@ -287,10 +297,18 @@ class SdrProfileController(SdrFormControllerWithModal):
|
|||||||
return "profile"
|
return "profile"
|
||||||
|
|
||||||
def getModalConfirmUrl(self):
|
def getModalConfirmUrl(self):
|
||||||
return "{}settings/{}/deleteprofile/{}".format(
|
return "{}settings/sdr/{}/deleteprofile/{}".format(
|
||||||
self.get_document_root(), quote(self.device_id), quote(self.profile_id)
|
self.get_document_root(), quote(self.device_id), quote(self.profile_id)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def deleteProfile(self):
|
||||||
|
if self.profile_id is None:
|
||||||
|
return self.send_response("profile not found", code=404)
|
||||||
|
config = Config.get()
|
||||||
|
del self.device["profiles"][self.profile_id]
|
||||||
|
config.store()
|
||||||
|
return self.send_redirect("{}settings/sdr".format(self.get_document_root()))
|
||||||
|
|
||||||
|
|
||||||
class NewProfileController(SdrFormController):
|
class NewProfileController(SdrFormController):
|
||||||
def __init__(self, handler, request, options):
|
def __init__(self, handler, request, options):
|
||||||
|
@ -130,6 +130,7 @@ class Router(object):
|
|||||||
RegexRoute(
|
RegexRoute(
|
||||||
"^/settings/sdr/([^/]+)$", SdrDeviceController, method="POST", options={"action": "processFormData"}
|
"^/settings/sdr/([^/]+)$", SdrDeviceController, method="POST", options={"action": "processFormData"}
|
||||||
),
|
),
|
||||||
|
RegexRoute("^/settings/deletesdr/([^/]+)$", SdrDeviceController, options={"action": "deleteDevice"}),
|
||||||
RegexRoute("^/settings/sdr/([^/]+)/newprofile$", NewProfileController),
|
RegexRoute("^/settings/sdr/([^/]+)/newprofile$", NewProfileController),
|
||||||
RegexRoute(
|
RegexRoute(
|
||||||
"^/settings/sdr/([^/]+)/newprofile$",
|
"^/settings/sdr/([^/]+)/newprofile$",
|
||||||
@ -144,6 +145,11 @@ class Router(object):
|
|||||||
method="POST",
|
method="POST",
|
||||||
options={"action": "processFormData"},
|
options={"action": "processFormData"},
|
||||||
),
|
),
|
||||||
|
RegexRoute(
|
||||||
|
"^/settings/sdr/([^/]+)/deleteprofile/([^/]+)$",
|
||||||
|
SdrProfileController,
|
||||||
|
options={"action": "deleteProfile"},
|
||||||
|
),
|
||||||
StaticRoute("/settings/bookmarks", BookmarksController),
|
StaticRoute("/settings/bookmarks", BookmarksController),
|
||||||
StaticRoute("/settings/bookmarks", BookmarksController, method="POST", options={"action": "new"}),
|
StaticRoute("/settings/bookmarks", BookmarksController, method="POST", options={"action": "new"}),
|
||||||
RegexRoute("^/settings/bookmarks/(.+)$", BookmarksController, method="POST", options={"action": "update"}),
|
RegexRoute("^/settings/bookmarks/(.+)$", BookmarksController, method="POST", options={"action": "update"}),
|
||||||
|
Loading…
Reference in New Issue
Block a user