From 4b0d7e35b63e9048431f0a698e7d1634178f770e Mon Sep 17 00:00:00 2001 From: paspo Date: Sat, 24 Feb 2018 11:03:50 +0100 Subject: [PATCH] support for splitted config file --- ...t-html.lsp => openpdu-boardsconf-html.lsp} | 0 acf-app/openpdu-controller.lua | 8 ++++++-- acf-app/openpdu-model.lua | 19 ++++++++++++++----- acf-app/openpdu-outletsconf-html.lsp | 1 + acf-app/openpdu.menu | 3 ++- acf-app/openpdu.roles | 4 ++-- 6 files changed, 25 insertions(+), 10 deletions(-) rename acf-app/{openpdu-expert-html.lsp => openpdu-boardsconf-html.lsp} (100%) create mode 120000 acf-app/openpdu-outletsconf-html.lsp diff --git a/acf-app/openpdu-expert-html.lsp b/acf-app/openpdu-boardsconf-html.lsp similarity index 100% rename from acf-app/openpdu-expert-html.lsp rename to acf-app/openpdu-boardsconf-html.lsp diff --git a/acf-app/openpdu-controller.lua b/acf-app/openpdu-controller.lua index 1d061d9..489e859 100755 --- a/acf-app/openpdu-controller.lua +++ b/acf-app/openpdu-controller.lua @@ -16,8 +16,12 @@ mymodule.poweroff = function(self) return self.handle_form(self, self.model.get_setpower, self.model.setpoweroff, self.clientdata, "commitpower", "Action result") end -function mymodule.expert(self) - return self.handle_form(self, self.model.get_filedetails, self.model.update_filedetails, self.clientdata, "Save", "Edit Config File", "Configuration Set") +function mymodule.outletsconf(self) + return self.handle_form(self, self.model.get_outletsFiledetails, self.model.update_outletsFiledetails, self.clientdata, "Save", "Edit Outlets Config File", "Configuration Set") +end + +function mymodule.boardsconf(self) + return self.handle_form(self, self.model.get_boardsFiledetails, self.model.update_boardsFiledetails, self.clientdata, "Save", "Edit Boards Config File", "Configuration Set") end return mymodule diff --git a/acf-app/openpdu-model.lua b/acf-app/openpdu-model.lua index 60be4cf..704f845 100755 --- a/acf-app/openpdu-model.lua +++ b/acf-app/openpdu-model.lua @@ -5,7 +5,8 @@ fs = require("acf.fs") json = require('cjson') modelfunctions = require("modelfunctions") -local configfile = "/etc/openpdu/openpdu.conf" +local outletsConfigfile = "/etc/openpdu/outlets.conf" +local boardsConfigfile = "/etc/openpdu/boards.conf" local s = modelfunctions.run_executable({"/usr/bin/openpdu", "outlets", "-j"}) local o = json.decode(s) local outlets = {} @@ -47,12 +48,20 @@ mymodule.setpoweroff = function(self, r) return r end -function mymodule.get_filedetails() - return modelfunctions.getfiledetails(configfile) +function mymodule.get_outletsFiledetails() + return modelfunctions.getfiledetails(outletsConfigfile) end -function mymodule.update_filedetails(self, filedetails) - return modelfunctions.setfiledetails(self, filedetails, {configfile}) +function mymodule.update_outletsFiledetails(self, filedetails) + return modelfunctions.setfiledetails(self, filedetails, {outletsConfigfile}) +end + +function mymodule.get_boardsFiledetails() + return modelfunctions.getfiledetails(boardsConfigfile) +end + +function mymodule.update_boardsFiledetails(self, filedetails) + return modelfunctions.setfiledetails(self, filedetails, {boardsConfigfile}) end return mymodule diff --git a/acf-app/openpdu-outletsconf-html.lsp b/acf-app/openpdu-outletsconf-html.lsp new file mode 120000 index 0000000..207f324 --- /dev/null +++ b/acf-app/openpdu-outletsconf-html.lsp @@ -0,0 +1 @@ +../expert-html.lsp \ No newline at end of file diff --git a/acf-app/openpdu.menu b/acf-app/openpdu.menu index 7d0b247..a5da7b2 100755 --- a/acf-app/openpdu.menu +++ b/acf-app/openpdu.menu @@ -1,3 +1,4 @@ #CAT GROUP/DESC TAB ACTION Applications 20OpenPDU Status status -Applications 20OpenPDU Expert expert +Applications 20OpenPDU Outlets outletsconf +Applications 20OpenPDU Boards boardsconf diff --git a/acf-app/openpdu.roles b/acf-app/openpdu.roles index ac05b14..c3e5bae 100755 --- a/acf-app/openpdu.roles +++ b/acf-app/openpdu.roles @@ -1,4 +1,4 @@ USER=openpdu:status EDITOR=openpdu:status -EXPERT=openpdu:status,openpdu:expert -ADMIN=openpdu:status,openpdu:edit,openpdu:expert,openpdu:power,openpdu:poweron,openpdu:poweroff +EXPERT=openpdu:status,openpdu:outletsconf,openpdu:boardsconf +ADMIN=openpdu:status,openpdu:edit,openpdu:outletsconf,openpdu:boardsconf,openpdu:power,openpdu:poweron,openpdu:poweroff