summaryrefslogtreecommitdiffstats
path: root/lbu-controller.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lbu-controller.lua')
-rw-r--r--lbu-controller.lua113
1 files changed, 11 insertions, 102 deletions
diff --git a/lbu-controller.lua b/lbu-controller.lua
index d70dde7..3db860d 100644
--- a/lbu-controller.lua
+++ b/lbu-controller.lua
@@ -1,123 +1,34 @@
module(..., package.seeall)
+require("controllerfunctions")
--- ################################################################################
--- PUBLIC FUNCTIONS
+default_action = "listchanges"
-default_action = "status"
-
-function basicstatus (self)
+function status (self)
return self.model.getstatus()
end
-function status (self)
+function listchanges (self)
return self.model.list()
end
function config (self)
- 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
- config.type = "form"
- config.option = "Save"
- config.label = "Edit Config"
-
- return config
+ return controllerfunctions.handle_form(self, self.model.getconfig, self.model.setconfig, self.clientdata, "Save", "Edit Config", "Configuration Set")
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 })
+ return controllerfunctions.handle_form(self, self.model.getincluded, self.model.setincluded, self.clientdata, "Save", "Edit Included Files", "Included files set")
end
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 })
+ return controllerfunctions.handle_form(self, self.model.getexcluded, self.model.setexcluded, self.clientdata, "Save", "Edit Excluded Files", "Excluded files set")
end
function commit(self)
- 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 self.sessiondata.commitresult then
- comm.descr = self.sessiondata.commitresult.value
- comm.errtxt = self.sessiondata.commitresult.errtxt
- self.sessiondata.commitresult = nil
- end
-
- comm.type = "form"
- comm.option = "Commit"
- comm.label = "Commit changes"
-
- return comm
+ return controllerfunctions.handle_form(self, self.model.getcommit, self.model.commit, self.clientdata, "Commit", "Commit Changes")
end
function expert (self)
- 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 = self.model.get_filedetails()
- filedetails.descr = "Saved config"
- end
- end
-
- filedetails.type = "form"
- filedetails.option = "Save"
- filedetails.label = "Edit config file"
-
- return filedetails
+ return controllerfunctions.handle_form(self, self.model.get_filedetails, self.model.set_filedetails, self.clientdata, "Save", "Edit Config File", "Configuration saved")
end
function listbackups(self)
@@ -125,11 +36,9 @@ function listbackups(self)
end
--[[
function deletebackup(self)
- self.model.deletebackupfile(self.clientdata.backup)
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.deletebackupfile(self.clientdata.backup))
end
--]]
function selectbackup(self)
- self.model.selectbackupfile(self.clientdata.backup)
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.selectbackupfile(self.clientdata.backup))
end