diff options
Diffstat (limited to 'vmail-controller.lua')
-rw-r--r-- | vmail-controller.lua | 85 |
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 |