diff options
Diffstat (limited to 'fetchmail-model.lua')
-rw-r--r-- | fetchmail-model.lua | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/fetchmail-model.lua b/fetchmail-model.lua index 457452d..e8aff0a 100644 --- a/fetchmail-model.lua +++ b/fetchmail-model.lua @@ -511,7 +511,7 @@ function readentries() if reverseentry["username"] and entry[reverseentry["username"]+1] then username = entry[reverseentry["username"]+1] end - table.insert(entries.value, {entry=entry[2], method=method, enabled=enabled, remotemailbox=username, localdomain=localdomain}) + table.insert(entries.value, {remotehost=entry[2], method=method, enabled=enabled, remotemailbox=username, localdomain=localdomain}) end end return entries @@ -607,14 +607,23 @@ function createentry(self, entrystruct) return entrystruct end -function deleteentry(entryname, method, remotemailbox, localdomain) - local retval = cfe({ value="Deleted entry", label="Delete Fetchmail Entry Result" }) - local entry = findentryline(entryname, method, remotemailbox, localdomain) +function get_deleteentry(self, clientdata) + local retval = {} + retval.remotehost = cfe({ value=clientdata.remotehost or "", label="Remote Host" }) + retval.method = cfe({ type="select", value=clientdata.method or "pop3", label="Method", option=methods }) + retval.remotemailbox = cfe({ value=clientdata.remotemailbox or "", label="Remote Mailbox" }) + retval.localdomain = cfe({ value=clientdata.localdomain or "", label="Local Domain" }) + + return cfe({ type="group", value=retval, label="Delete Entry" }) +end + +function deleteentry(self, ent) + local entry = findentryline(ent.value.remotehost.value, ent.value.method.value, ent.value.remotemailbox.value, ent.value.localdomain.value) if entry then writeentryline(nil, entry) else - retval.value = "Failed to delete entry - not found" + ent.errtxt = "Failed to delete entry - not found" end - return retval + return ent end |