diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-08-11 18:42:29 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-08-11 18:42:29 +0000 |
commit | bc7effbae906b23589c625dd401c1fd09bb434e1 (patch) | |
tree | 97cffd084e313992695c1acb4584ea374ea043cc /fetchmail-controller.lua | |
parent | 4788958ba73b4274a5ef9824d0291fe3c82d0d5b (diff) | |
download | acf-fetchmail-bc7effbae906b23589c625dd401c1fd09bb434e1.tar.bz2 acf-fetchmail-bc7effbae906b23589c625dd401c1fd09bb434e1.tar.xz |
Modified fetchmail to clean up status and expert, and add startstop. Still have to implement config.
git-svn-id: svn://svn.alpinelinux.org/acf/fetchmail/trunk@1375 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'fetchmail-controller.lua')
-rw-r--r-- | fetchmail-controller.lua | 110 |
1 files changed, 11 insertions, 99 deletions
diff --git a/fetchmail-controller.lua b/fetchmail-controller.lua index 03668f6..8adb959 100644 --- a/fetchmail-controller.lua +++ b/fetchmail-controller.lua @@ -1,109 +1,21 @@ module(..., package.seeall) --- ################################################################################ --- LOCAL FUNCTIONS - -local function displaycmdsave(self) - -- Add a cmd button to the view - local cmdsave = cfe({ name="cmdsave", - label="Save/Apply above settings", - value="Save", - type="submit", - }) - return cmdsave -end - -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(self) } + return self.model.getstatus() end -function expert(self) - -- 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 - - -- Save changes - local modifications = self.clientdata.filecontent or "" - if ( self.clientdata.cmdsave) then - modifications = self.model:update_filecontent(modifications) - end - - local status = self.model:getstatus(self) - local config = self.model:get_filedetails() - - - -- Display save button - config.cmdsave = displaycmdsave() - - ----[[ -- 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 startstop(self) + return controllerfunctions.handle_startstop(self, self.model.startstop_service, self.model.getstatus, self.clientdata) +end +--[[ +function config(self) + return controllerfunctions.handle_form(self, self.model.getconfig, self.model.updateconfig, self.clientdata, "Save", "Edit Config", "Configuration Set") +end --]] - - return { - option={ script=self.conf.script, - prefix=self.conf.prefix, - controller = self.conf.controller, - action = "expert", }, - management = management, - config = config, - status = status, - } - +function expert(self) + return controllerfunctions.handle_form(self, self.model.get_filedetails, self.model.update_filecontent, self.clientdata, "Save", "Edit Config", "Configuration Set") end - |