-- the interfaces controller module (..., package.seeall) -- Cause an http redirect to our "read" action -- We use the self.conf table because it already has prefix,controller,etc -- The redir code is defined in the application error handler (acf-controller) local list_redir = function (self) self.conf.action = "loaded" self.conf.type = "redir" error (self.conf) end mvc= {} mvc.on_load = function(self, parent) self.conf.default_action = "loaded" end read = function(self) local loaded, available = self.model.get_packages() --local loaded = self.model.get_loaded_packages() --local available = self.model.get_available_packages() return ( { loaded = loaded, available=available, self=self } ) 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 ( { loaded = loaded, cmdresult = cmdresult } ) end available = function(self) local available = self.model.get_available_packages() return ( { available=available } ) 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 list_redir(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 list_redir(self) end