summaryrefslogtreecommitdiffstats
path: root/tinydns-controller.lua
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-04-26 09:59:53 +0000
committerMika Havela <mika.havela@gmail.com>2008-04-26 09:59:53 +0000
commit4d2325161be2448fb521b1aacc02965e9dfaba64 (patch)
tree4ff09a636a69a2600be37c8afc9ef2024b414ed2 /tinydns-controller.lua
parent62a1ef945a563c7b9b36dcbe889126825ad57fd2 (diff)
downloadacf-tinydns-4d2325161be2448fb521b1aacc02965e9dfaba64.tar.bz2
acf-tinydns-4d2325161be2448fb521b1aacc02965e9dfaba64.tar.xz
Saving work for today.
Create new configfile starts working. Delete configfile (work in progress - still not working). Added information on filesize/modifydate on each configfile. git-svn-id: svn://svn.alpinelinux.org/acf/tinydns/trunk@1048 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'tinydns-controller.lua')
-rw-r--r--tinydns-controller.lua56
1 files changed, 54 insertions, 2 deletions
diff --git a/tinydns-controller.lua b/tinydns-controller.lua
index 652f262..e13f001 100644
--- a/tinydns-controller.lua
+++ b/tinydns-controller.lua
@@ -235,8 +235,47 @@ function expert(self)
actionresult, cmdmanagement = self.model:startstop_service( cmdmanagement.action )
end
+ local configopts = self.model:getconfig()
+ -- Show buttons/fileds for creation of new confifiles
+ local create = {}
+ create.name = cfe ({
+ name="name",
+ label="Name of the new configfile",
+ value=string.gsub(configopts.baseurl.value, "/$", "") .. "/",
+ })
+ create.cmdnew = cfe ({
+ name="cmdnew",
+ label="Create new file",
+ type="submit",
+ value="Create",
+ })
+
+ -- In case we are trying to create a new configfile
+ if (self.clientdata.cmdnew) then
+ if (self.clientdata.name) and
+ (#self.clientdata.name > 0) and not
+ (string.gsub(self.clientdata.name, "/$", "") == string.gsub(create.name.value, "/$", "")) then
+ local createcreated, createerrtxt = self.model:createconfigfile(self.clientdata.name)
+ if (createerrtxt) and (#createerrtxt > 0) then
+ create.name.errtxt = createerrtxt
+ create.name.value = self.clientdata.name
+ end
+ else
+ create.name.errtxt = "Incorrect filename"
+ end
+ if (#create.name.errtxt == 0) then
+ create.cmdnew.descr = "* File was created"
+ end
+ end
+
local status = getstatus(self)
- local config = self.model:getfilelist()
+
+ local configfiles = self.model:getfilelist()
+ local config = {}
+ for k,v in pairs(configfiles) do
+ local filedetails = self.model:get_filedetails(v)
+ table.insert(config,filedetails)
+ end
-- Management buttons (Hide/show buttons
local pidofstatus
@@ -261,8 +300,9 @@ function expert(self)
management = management,
config = config,
status = status,
+ create = create,
startstop = startstop,
- debugclientdata = self.clientdata,
+ mhdebug = self.clientdata,
}
end
@@ -291,6 +331,16 @@ function edit(self)
value="Save",
type="submit",
})
+ file.cmddelete = cfe({ name="cmddelete",
+ label="Delete this configfile",
+ value="Delete",
+ type="submit",
+ })
+
+ if (self.clientdata.cmddelete) then
+ redirect(self, "confirmaction")
+ end
+
if (modifications) then
file.cmdsave.descr="* Changes has been saved!"
end
@@ -310,3 +360,5 @@ function edit(self)
}
end
+function confirmaction(self)
+end