summaryrefslogtreecommitdiffstats
path: root/fetchmail-controller.lua
diff options
context:
space:
mode:
Diffstat (limited to 'fetchmail-controller.lua')
-rw-r--r--fetchmail-controller.lua66
1 files changed, 46 insertions, 20 deletions
diff --git a/fetchmail-controller.lua b/fetchmail-controller.lua
index cf30d9b..654a519 100644
--- a/fetchmail-controller.lua
+++ b/fetchmail-controller.lua
@@ -60,10 +60,40 @@ local function displaycmdmanagement(disablestart,disablestop,disablerestart)
return management
end
+local function displaycmdmanagement(disablestart,disablestop,disablerestart)
+ -- 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",
+ })
+
+ -- Disable management buttons based on if the process is running or not
+ if (disablestart) then management.start.disabled = "yes" end
+ if (disablestop) then management.stop.disabled = "yes" end
+ if (disablerestart) then management.restart.disabled = "yes" end
+
+ return management
+end
+
+-- ################################################################################
+-- PUBLIC FUNCTIONS
+
function status(self)
return { status=getstatus(self) }
end
-
+--[==[
function config(self)
local cmdmanagement, cmdmanagementresult
local cmdsavereply = {}
@@ -145,15 +175,20 @@ function config(self)
debugclientdata = self.clientdata,
}
end
-
+--]==]
function expert(self)
- local cmdmanagement, cmdmanagementresult
+ -- Start/Stop/Restart process
+ local cmdmanagement
if ( self.clientdata.cmdmanagement) then
- cmdmanagement = cfe({
+ cmdmanagement = cfe({
+ name="cmdmanagement",
+ label="Previous action result",
+ action=cfe({
name="cmdmanagement",
- value=string.lower(self.clientdata.cmdmanagement),
- })
- cmdmanagementresult, cmdmanagement = self.model:startstop_service( cmdmanagement )
+ value=string.lower(self.clientdata.cmdmanagement), -- This row contains start/stop/restart (one of these commands)
+ }),
+ })
+ local actionresult, cmdmanagement = self.model:startstop_service( cmdmanagement.action )
end
-- Save changes
@@ -169,7 +204,7 @@ function expert(self)
-- Display save button
config.cmdsave = displaycmdsave()
---[[
+
-- Management buttons
local disablestart,disablestop,disablerestart
-- Disable management buttons based on if the process is running or not
@@ -178,25 +213,16 @@ function expert(self)
else
disablestop = "yes"
end
- -- Disable management buttons if there exist errors in the config
- for k,v in pairs(config) do
- if (config[k]["errtxt"] ~= "") then
- disablestart = "yes"
- disablestop = "yes"
- disablerestart = "yes"
- break
- end
- end
-- Display management buttons
- local management = displaycmdmanagement(disablestart,disablestop,disablerestart)
---]]
+-- management = displaycmdmanagement(disablestart,disablestop,disablerestart)
+
return {
option={ script=ENV["SCRIPT_NAME"],
prefix=self.conf.prefix,
controller = self.conf.controller,
action = "expert", },
- cmdmanagement = cmdmanagement,
management = management,
+ cmdmanagement = cmdmanagement,
config = config,
status = status,
startstop = startstop,