summaryrefslogtreecommitdiffstats
path: root/postfix-model.lua
diff options
context:
space:
mode:
Diffstat (limited to 'postfix-model.lua')
-rw-r--r--postfix-model.lua52
1 files changed, 35 insertions, 17 deletions
diff --git a/postfix-model.lua b/postfix-model.lua
index 36646ed..f3a0634 100644
--- a/postfix-model.lua
+++ b/postfix-model.lua
@@ -113,22 +113,34 @@ function createfile(self, newfile)
return newfile
end
-function deletefile(filename)
- local result = cfe({ value="Failed to delete file", label="Delete file result" })
+function getdeletefile(self, clientdata)
+ local retval = {}
+ retval.filename = cfe({ value=clientdata.filename or "", label="File Name" })
+ return cfe({ type="group", value=retval, label="Delete File" })
+end
+
+function deletefile(self, delfile)
+ local filename = delfile.value.filename.value
+ delfile.errtxt = "Failed to delete file"
if not validator.is_valid_filename(filename, baseurl) then
- result.errtxt = "Not a valid filename!"
+ delfile.value.filename.errtxt = "Not a valid filename!"
elseif not fs.is_file(filename) then
- result.errtxt = "File doesn't exist!"
+ delfile.value.filename.errtxt = "File doesn't exist!"
else
os.remove(filename)
- result.value = "File Deleted"
+ delfile.errtxt = nil
end
- return result
+ return delfile
+end
+
+function get_rebuild_databases()
+ local retval = {}
+ return cfe({ type="group", value=retval, label="Rebuild Databases" })
end
-function rebuild_databases()
- local result = cfe({ value={"Rebuilding databases"}, label="Rebuild Databases result" })
- table.insert(result.value, " See logfile for possible errors")
+function rebuild_databases(self, rebuild)
+ local result = {"Rebuilding databases"}
+ table.insert(result, " See logfile for possible errors")
local cmd,f,cmdresult
-- parse main.cf looking for hash files
local config, content = getconfig()
@@ -138,22 +150,22 @@ function rebuild_databases()
-- run postmap on file
if filename and not string.find(filename, aliasesfile) then
cmd = "postmap "..filename
- table.insert(result.value, "Running: "..cmd)
+ table.insert(result, "Running: "..cmd)
f = io.popen(format.escapespecialcharacters(path..cmd))
- table.insert(result.value, f:read("*a"))
+ table.insert(result, f:read("*a"))
f:close()
end
end
end
-- finally, run newaliases
cmd = "newaliases"
- table.insert(result.value, "Running: "..cmd)
+ table.insert(result, "Running: "..cmd)
f = io.popen(format.escapespecialcharacters(path..cmd))
- table.insert(result.value, f:read("*a"))
+ table.insert(result, f:read("*a"))
f:close()
- result.value = table.concat(result.value, "\n")
- return result
+ rebuild.descr = table.concat(result, "\n")
+ return rebuild
end
function getmailqueue()
@@ -163,10 +175,16 @@ function getmailqueue()
return cfe({ type="longtext", value=result, label="Postfix Mail Queue" })
end
-function flushqueue()
+function getflushqueue()
+ local retval = {}
+ return cfe({ type="group", value=retval, label="Flush Queue" })
+end
+
+function flushqueue(self, flush)
local f = io.popen(path.."postqueue -f")
local result = f:read("*a")
f:close()
if not result or result == "" then result = "Queue Flushed" end
- return cfe({ type="longtext", value=result, label="Postfix Flush Queue Result" })
+ flush.descr = result
+ return flush
end