summaryrefslogtreecommitdiffstats
path: root/opennhrp-controller.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-07-02 15:08:15 +0000
committerTed Trask <ttrask01@yahoo.com>2008-07-02 15:08:15 +0000
commitf2137fec9261e79f89ea2877e40bed72c3c70808 (patch)
tree59c64a5335976c5eba04c2746b734b947077922e /opennhrp-controller.lua
parentd00a84674c3d2e4d6b2b6ad870dbed7515a62678 (diff)
downloadacf-opennhrp-f2137fec9261e79f89ea2877e40bed72c3c70808.tar.bz2
acf-opennhrp-f2137fec9261e79f89ea2877e40bed72c3c70808.tar.xz
Started modifying opennhrp to simplify, use new cfes, ...
git-svn-id: svn://svn.alpinelinux.org/acf/opennhrp/trunk@1265 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'opennhrp-controller.lua')
-rw-r--r--opennhrp-controller.lua115
1 files changed, 12 insertions, 103 deletions
diff --git a/opennhrp-controller.lua b/opennhrp-controller.lua
index 99450d7..7c18cf4 100644
--- a/opennhrp-controller.lua
+++ b/opennhrp-controller.lua
@@ -1,116 +1,25 @@
module(..., package.seeall)
--- Load libraries
-require("format")
-
--- Set variables
-local newrecordtxt = "[New]"
-
--- ################################################################################
--- LOCAL FUNCTIONS
-
-local function displaycmdmanagement(pidofstatus)
- -- Add a management buttons
- local management = {}
- management.start = cfe({ name="cmdmanagement",
- label="Program control-panel",
- value="Start",
- type="submit",
- })
- management.stop = cfe({ name="cmdmanagement",
- label="Program control-panel",
- value="Stop",
- type="submit",
- })
- management.restart = cfe({ name="cmdmanagement",
- label="Program control-panel",
- value="Restart",
- type="submit",
- })
- -- next CFE can be used to present the result of the previous action
- management.actionresult = cfe({ name="actionresult",
- label="Previous action result",
- })
-
- -- Disable management buttons based on if the process is running or not
- if (pidofstatus) then
- management.start.disabled = "yes"
- else
- management.stop.disabled = "yes"
- management.restart.disabled = "yes"
- end
-
- return management
-end
--- ################################################################################
--- PUBLIC FUNCTIONS
+require("controllerfunctions")
default_action = "status"
function status(self)
- return { status=self.model.getstatus() }
+ return self.model.getstatus()
end
-function expert (self)
- local modifications = self.clientdata.filecontent or ""
- if ( self.clientdata.cmdsave ) then
- modifications = self.model:update_filecontent(modifications)
- end
- local url = self.conf.script .. self.conf.prefix .. self.conf.controller
-
- -- Start/Stop/Restart process
- local cmdmanagement, actionresult
- if ( self.clientdata.cmdmanagement) then
- cmdmanagement = cfe({
- name="cmdmanagement",
- label="Previous action result",
- action=cfe({
- name="cmdmanagement",
- value=string.lower(self.clientdata.cmdmanagement), -- This row contains start/stop/restart (one of these commands)
- }),
- })
- actionresult, cmdmanagement = self.model:startstop_service( cmdmanagement.action )
- end
-
- local status=self.model.getstatus()
- local file = self.model:get_filedetails()
-
- -- Add buttons
- file.cmdsave = cfe ({
- name="cmdsave",
- label="Apply settings",
- value="Apply",
- type="submit",
- })
- if (self.clientdata.cmdsave) then
- file.cmdsave.descr="* Changes has been saved!"
- end
-
-
- -- Management buttons (Hide/show buttons
- local pidofstatus
- if (string.lower(status.status.value) == "enabled" ) then pidofstatus = true end
- management = displaycmdmanagement(pidofstatus)
- if (actionresult) then
- management.actionresult.descr=cmdmanagement.descr
- management.actionresult.errtxt=cmdmanagement.errtxt
- end
+function show(self)
+ return self.model.getshowreport()
+end
- return ( {
- status = status,
- file = file,
- modifications = modifications,
- management = management,
- url = url, } )
+function startstop(self)
+ return controllerfunctions.handle_startstop(self, self.model.startstop_service, self.model.getstatus, self.clientdata)
end
-function logfile(self)
- local status=self.model.getstatus()
- local logfile = self.model:get_logfile()
+function config(self)
+ return controllerfunctions.handle_form(self, self.model.getconfig, self.model.setconfig, self.clientdata, "Save", "Edit Config", "Configuration Set")
+end
- return ({
- status = status,
- logfile = logfile,
- url = url,
- })
+function expert (self)
+ return controllerfunctions.handle_form(self, self.model.getconfigfile, self.model.setconfigfile, self.clientdata, "Save", "Edit Config", "Configuration Set")
end