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 = "read" self.conf.type = "redir" error (self.conf) end mvc={} mvc.on_load = function(self, parent) if (self.worker[self.conf.action] == nil ) or ( self.conf.action == "init" ) then self.worker[self.conf.action] = list_redir(self) end end read = function (self) local cmd = self.clientdata.cmd if ( cmd == "start" ) then return ( {filecontent = self.model:get(), startup = self.model:startstop_service( cmd ), shutdown = "", url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) elseif ( cmd == "stop" ) then return ( {filecontent = self.model:get(), shutdown = self.model:startstop_service( cmd ), startup = "", url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) else return ( {filecontent = self.model:get(), shutdown = "" , startup = "", url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) end end advanced = function (self) local filecontent = self.clientdata.modifications or "" if ( filecontent ~= "") then local me = ( {filecontent = self.model:update_filecontent(filecontent), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) list_redir(self) else local me = ( {filecontent = self.model:get_filecontent(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller } ) return me end end