summaryrefslogtreecommitdiffstats
path: root/vmail-controller.lua
diff options
context:
space:
mode:
Diffstat (limited to 'vmail-controller.lua')
-rw-r--r--vmail-controller.lua85
1 files changed, 85 insertions, 0 deletions
diff --git a/vmail-controller.lua b/vmail-controller.lua
new file mode 100644
index 0000000..7b947fb
--- /dev/null
+++ b/vmail-controller.lua
@@ -0,0 +1,85 @@
+module (..., package.seeall)
+
+require("controllerfunctions")
+
+default_action = "listmessages"
+
+listusers = function( self )
+ return self.model.list_users()
+end
+
+editusers = function( self )
+ return self.model.list_users()
+end
+
+deleteuser = function( self )
+ return self:redirect_to_referrer(self.model.delete_user(self.clientdata.username))
+end
+
+listmessages = function( self )
+ return self.model.list_messages(self.clientdata.username)
+end
+
+listmymessages = function( self )
+ return self.model.list_messages(self.sessiondata.userinfo.userid)
+end
+
+downloadmessage = function( self )
+ self.conf.viewtype = "stream"
+ return self.model.get_message(self.clientdata.message)
+end
+
+downloadmymessage = function( self )
+ self.conf.viewtype = "stream"
+ return self.model.get_message(self.clientdata.message, self.sessiondata.userinfo.userid)
+end
+
+deletemessage = function( self )
+ return self:redirect_to_referrer(self.model.delete_message(self.clientdata.message))
+end
+
+deletemymessage = function( self )
+ return self:redirect_to_referrer(self.model.delete_message(self.clientdata.message, self.sessiondata.userinfo.userid))
+end
+
+forwardmessage = function( self )
+ return self:redirect_to_referrer(self.model.forward_message(self.clientdata.message, self.clientdata.newuser))
+end
+
+forwardmymessage = function( self )
+ return self:redirect_to_referrer(self.model.forward_message(self.clientdata.message, self.clientdata.newuser, self.sessiondata.userinfo.userid))
+end
+
+emailmessage = function( self )
+ return self:redirect_to_referrer(self.model.email_message(self.clientdata.message, self.clientdata.address))
+end
+
+emailmymessage = function( self )
+ return self:redirect_to_referrer(self.model.email_message(self.clientdata.message, self.clientdata.address, self.sessiondata.userinfo.userid))
+end
+
+editusersettings = function( self )
+ return controllerfunctions.handle_form(self, function() return self.model.get_usersettings(self.clientdata.username) end, self.model.update_usersettings, self.clientdata, "Save", "Edit Settings", "Settings Saved")
+end
+
+editmyusersettings = function( self )
+ return controllerfunctions.handle_form(self, function() return self.model.get_usersettings(self.sessiondata.userinfo.userid) end, self.model.update_usersettings, self.clientdata, "Save", "Edit Settings", "Settings Saved")
+end
+
+createuser = function( self )
+ return controllerfunctions.handle_form(self, function() return self.model.get_usersettings() end, self.model.create_usersettings, self.clientdata, "Create", "Create User", "User Created")
+end
+
+processdialplanxml = function( self )
+ self.conf.viewtype = "xml"
+ return self.model.process_dialplan_xml_request(self.clientdata)
+end
+
+processdirectoryxml = function( self )
+ self.conf.viewtype = "xml"
+ return self.model.process_directory_xml_request(self.clientdata)
+end
+
+editconfig = function( self )
+ return controllerfunctions.handle_form(self, self.model.get_config, self.model.update_config, self.clientdata, "Save", "Update Config", "Config Saved")
+end