-- the interfaces controller module (..., package.seeall) default_action = "loaded" read = function(self) return self.model.get_packages() end loaded = function(self) -- Get command result out of session data local cmdresult = self.sessiondata.cmdresult self.sessiondata.cmdresult = nil local loaded = self.model.get_loaded_packages() return cfe({ type="group", value={loaded=loaded, cmdresult=cmdresult} }) end available = function(self) return cfe({ type="group", value={available=self.model.get_available_packages()} }) end delete = function(self) local package = self.clientdata.package or "" local cmdresult = self.model.delete_package(package, self.sessiondata) -- Put the result in session data and redirect self.sessiondata.cmdresult = cmdresult redirect(self) end install = function(self) local package = self.clientdata.package or "" local cmdresult = self.model.install_package(package, self.sessiondata) -- Put the result in session data and redirect self.sessiondata.cmdresult = cmdresult redirect(self) end config = function(self) local config = self.model.get_config() if self.clientdata.Save then for name,value in pairs(config.value) do if self.clientdata[name] then value.value = self.clientdata[name] end end config = self.model.set_config(config) if not config.errtxt then config.descr = "Saved Configuration" end end config.type = "form" config.option = "Save" config.label = "Edit Configuration" return config end