summaryrefslogtreecommitdiffstats
path: root/acfupdate-controller.lua
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2007-12-24 10:38:57 +0000
committerMika Havela <mika.havela@gmail.com>2007-12-24 10:38:57 +0000
commitf3181ff851436318ffd9af96d5ca63713463f186 (patch)
treea6c25721c8500bcea6aa38e64a3d69c319f37428 /acfupdate-controller.lua
downloadacf-devtools-f3181ff851436318ffd9af96d5ca63713463f186.tar.bz2
acf-devtools-f3181ff851436318ffd9af96d5ca63713463f186.tar.xz
Added devtools that could come in handy when developing ACF-files. This 'acfupdate' devtool is useful for checking out all latest updates to the running system.
git-svn-id: svn://svn.alpinelinux.org/acf/devtools/trunk@452 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'acfupdate-controller.lua')
-rw-r--r--acfupdate-controller.lua28
1 files changed, 28 insertions, 0 deletions
diff --git a/acfupdate-controller.lua b/acfupdate-controller.lua
new file mode 100644
index 0000000..ff4b740
--- /dev/null
+++ b/acfupdate-controller.lua
@@ -0,0 +1,28 @@
+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
+
+-- Public methods
+
+read = function (self )
+ return ({projects = self.model:get(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} )
+end
+
+update = function (self )
+ return ({projects = self.model:get(),updates = self.model:update(), url = ENV["SCRIPT_NAME"] .. self.conf.prefix .. self.conf.controller} )
+end
+