summaryrefslogtreecommitdiffstats
path: root/lbu-controller.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-06-05 14:06:22 +0000
committerTed Trask <ttrask01@yahoo.com>2008-06-05 14:06:22 +0000
commitab9e94b01060564436b9ba4eef0a2ab1465e7b83 (patch)
tree3fde3c8f315e234c51867fe946f6a48eb526b247 /lbu-controller.lua
parentdfcf164b909dc654e42820cce73baf8aeb54a26b (diff)
downloadacf-alpine-conf-ab9e94b01060564436b9ba4eef0a2ab1465e7b83.tar.bz2
acf-alpine-conf-ab9e94b01060564436b9ba4eef0a2ab1465e7b83.tar.xz
Updated lbu to use new cfe model and components
git-svn-id: svn://svn.alpinelinux.org/acf/alpine-conf/trunk@1197 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'lbu-controller.lua')
-rw-r--r--lbu-controller.lua255
1 files changed, 90 insertions, 165 deletions
diff --git a/lbu-controller.lua b/lbu-controller.lua
index a5b6256..1d5c22b 100644
--- a/lbu-controller.lua
+++ b/lbu-controller.lua
@@ -5,192 +5,117 @@ module(..., package.seeall)
default_action = "status"
+function basicstatus (self)
+ return self.model.getstatus()
+end
+
function status (self)
- local cmd = self.clientdata.cmd
- local url = self.conf.script .. self.conf.prefix .. self.conf.controller
- local status, errors = self.model:getstatus()
- return ( {status = status,
- errors = errors,
- lbustatus = self.model:list(),
- url = url, } )
+ return self.model.list()
end
function config (self)
- local errors = {}
- local cmdresult
- if (self.clientdata.cmd_delete_excluded) and (self.clientdata.lbu_excluded) then
- cmdresult = self.model:lbuincexcl("exclude", self.clientdata.lbu_excluded, "remove")
- end
- if (self.clientdata.cmd_delete_included) and (self.clientdata.lbu_included) then
- cmdresult = self.model:lbuincexcl("include", self.clientdata.lbu_included, "remove")
- end
- if (self.clientdata.config_submit) then
- local variables="ENCRYPTION LBU_MEDIA DEFAULT_CIPHER PASSWORD"
- cmdresult = {}
- for var in string.gmatch(variables, "%S+") do
- cmdresult[var] = self.model:editconfig(var, self.clientdata[var], "change_value")
+ local config = self.model.getconfig()
+ if self.clientdata.Save then
+ config.errtxt = nil
+ for name,value in pairs(config.value) do
+ value.errtxt = nil
+ if value.type == "boolean" then
+ value.value = (self.clientdata[name]~=nil)
+ else
+ value.value = self.clientdata[name] or value.value
+ end
+ end
+ config = self.model.setconfig(config)
+ if not config.errtxt then
+ config.descr = "Configuration Set"
end
end
- if (self.clientdata.cmd_add_included) and (self.clientdata.item_add_included) then
- cmdresult = self.model:lbuincexcl("include", self.clientdata.item_add_included, "add")
- end
- if (self.clientdata.cmd_add_excluded) and (self.clientdata.item_add_excluded) then
- cmdresult = self.model:lbuincexcl("exclude", self.clientdata.item_add_excluded, "add")
- end
+ config.type = "form"
+ config.option = "Save"
+ config.label = "Edit Config"
- local config = self.model:getconfig()
- -- This needs to be done /after/ the editing of the config (done earlier in this code)
- local status = self.model:getstatus()
-
- -- Add submit and other buttons
- config["cmd_delete_included"] = cfe({
- name="cmd_delete_included",
- value="Delete",
- label="Delete selected included-item",
- type="submit",
- descr="Mark a item in '" .. config.lbu_included.label .. "'-list before pressing [Delete]",
- })
-
- config["item_add_included"] = cfe({
- name="item_add_included",
- label="Item to add to included-list",
- })
-
- config["cmd_add_included"] = cfe({
- name="cmd_add_included",
- value="Add",
- label="Add the item into the included-list",
- type="submit",
- descr="Enter a value in '" .. config.item_add_included.label .. "'-input before pressing [Add]",
- })
-
- config["cmd_delete_excluded"] = cfe({
- name="cmd_delete_excluded",
- value="Delete",
- label="Delete selected excluded-item",
- type="submit",
- descr="Mark a item in '" .. config.lbu_excluded.label .. "'-list before pressing [Delete]",
- })
-
- config["item_add_excluded"] = cfe({
- name="item_add_excluded",
- label="Item to add to excluded-list",
- })
-
- config["cmd_add_excluded"] = cfe({
- name="cmd_add_excluded",
- value="Add",
- label="Add the item into the excluded-list",
- type="submit",
- descr="Enter a value in '" .. config.item_add_excluded.label .. "'-input before pressing [Add]",
- })
-
- config["config_submit"] = cfe({
- name="config_submit",
- value="Apply",
- label="Apply above settings",
- type="submit",
- })
- if (self.clientdata.config_submit) then
- config.config_submit.descr="* Changes has been saved!"
- end
-
-
- -- Disable buttons/commands that is usable for som reason
- if (config.lbu_included.option) and (#config.lbu_included.option == 0) then
- config.cmd_delete_included.disabled= "yes"
- config.cmd_delete_included.descr= ""
- end
- if (config.lbu_excluded.option) and (#config.lbu_excluded.option == 0) then
- config.cmd_delete_excluded.disabled= "yes"
- config.cmd_delete_excluded.descr= ""
+ return config
+end
+
+function editincluded (self)
+ local errtxt, descr
+ local included = self.model.getincluded()
+ if self.clientdata.Save then
+ included.errtxt = nil
+ included.value = self.clientdata.included
+ included = self.model.setincluded(included)
+ if included.errtxt then
+ errtxt = "Failed to set included files"
+ else
+ descr = "Included files set"
+ redirect_to_referrer(self)
+ end
end
+ return cfe({ type="form", value={included=included}, option="Save", label="Edit included files", errtxt=errtxt, descr=descr })
+end
- local url = self.conf.script .. self.conf.prefix .. self.conf.controller
- return ( {status = status,
- cmdresult = cmdresult,
- errors = errors,
- clientdata = self.clientdata,
- config = config,
- url = url, } )
+function editexcluded (self)
+ local errtxt, descr
+ local excluded = self.model.getexcluded()
+ if self.clientdata.Save then
+ excluded.errtxt = nil
+ excluded.value = self.clientdata.excluded
+ excluded = self.model.setexcluded(excluded)
+ if excluded.errtxt then
+ errtxt = "Failed to set excluded files"
+ else
+ descr = "Excluded files set"
+ redirect_to_referrer(self)
+ end
+ end
+
+ return cfe({ type="form", value={excluded=excluded}, option="Save", label="Edit excluded files", errtxt=errtxt, descr=descr })
end
function commit(self)
- local cmdresult, cmderror
- local url = self.conf.script .. self.conf.prefix .. self.conf.controller
- local cmdflag = nil
- if (self.clientdata.lbucleanmedia) then cmdflag = "-d" else cmdflag = "" end
- if (self.clientdata.lbusimulate) then
- cmdresult, cmderror = self.model:getsimulate(cmdflag)
- end
- if (self.clientdata.lbucommit) then
- cmdresult, cmderror = self.model:getcommit(cmdflag)
+ local comm = self.model.getcommit()
+ if self.clientdata.Commit then
+ comm.errtxt = nil
+ for name,value in pairs(comm.value) do
+ value.errtxt = nil
+ value.value = (self.clientdata[name]~=nil)
+ end
+ comm = self.model.commit(comm)
+ self.sessiondata.commitresult = cfe({ value=comm.descr or "", errtxt=comm.errtxt })
+ redirect_to_referrer(self)
end
- -- If no clientdata then do a dryrun and see if it's going to work else report
- if not (cmdresult) then
- tmp_cmdresult, cmderror = self.model:getsimulate()
+ if self.sessiondata.commitresult then
+ comm.descr = self.sessiondata.commitresult.value
+ comm.errtxt = self.sessiondata.commitresult.errtxt
+ self.sessiondata.commitresult = nil
end
- local status, errors = self.model:getstatus()
-
- -- Add buttons
- status["lbusimulate"] = cfe({
- name="lbusimulate",
- value="Simulate",
- label="Simulate/Test a commit",
- type="submit",
- })
-
- status["lbucommit"] = cfe({
- name="lbucommit",
- value="Commit",
- label="Actually commit and save changes",
- type="submit",
- })
-
- if (cmderror["-d"]) then
- status["lbucleanmedia"] = cfe({
- name="lbucleanmedia",
- value="lbucleanmedia",
- label="Remove existing apk.ovls from media",
- type="checkbox",
- })
- end
+ comm.type = "form"
+ comm.option = "Commit"
+ comm.label = "Commit changes"
- return ( {status = status,
- cmdresult = cmdresult,
- cmdflag = cmdflag,
- cmderror = cmderror,
- clientdata = self.clientdata,
- url = url, } )
+ return comm
end
+
function expert (self)
- local modifications = self.clientdata.filecontent or ""
- if ( self.clientdata.cmdsave) then
- modifications = self.model:update_filecontent(modifications)
+ local filedetails = self.model.get_filedetails()
+ if self.clientdata.Save then
+ filedetails.value.filecontent.errtxt = nil
+ filedetails.value.filecontent.value = self.clientdata.filecontent
+ filedetails.value.filecontent = self.model.set_filecontent(filedetails.value.filecontent)
+ if filedetails.value.filecontent.errtxt then
+ filedetails.errtxt = "Failed to save config"
+ else
+ filedetails.descr = "Saved config"
+ end
end
- local status = self.model.getstatus()
- local file = self.model:get_filedetails()
- -- Add submit and other buttons
- file["cmdsave"] = cfe({
- name="cmdsave",
- value="Apply",
- label="Apply settings",
- type="submit",
- })
- if (self.clientdata.cmdsave) then
- file.cmdsave.descr="* Changes has been saved!"
- end
-
- local url = self.conf.script .. self.conf.prefix .. self.conf.controller
-
- return {
- file = file,
- status = status,
- clientdata = self.clientdata,
- url = url, }
+ filedetails.type = "form"
+ filedetails.option = "Save"
+ filedetails.label = "Edit config file"
+
+ return filedetails
end