summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-asterisk/luasrc/model/cbi/asterisk/voicemail.lua
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-asterisk/luasrc/model/cbi/asterisk/voicemail.lua')
-rw-r--r--applications/luci-asterisk/luasrc/model/cbi/asterisk/voicemail.lua24
1 files changed, 23 insertions, 1 deletions
diff --git a/applications/luci-asterisk/luasrc/model/cbi/asterisk/voicemail.lua b/applications/luci-asterisk/luasrc/model/cbi/asterisk/voicemail.lua
index 1c92d0dbf..5d0de756b 100644
--- a/applications/luci-asterisk/luasrc/model/cbi/asterisk/voicemail.lua
+++ b/applications/luci-asterisk/luasrc/model/cbi/asterisk/voicemail.lua
@@ -12,6 +12,8 @@ You may obtain a copy of the License at
$Id$
]]--
+local ast = require "luci.asterisk"
+
cbimap = Map("asterisk", "Voicemail - Mailboxes")
voicemail = cbimap:section(TypedSection, "voicemail", "Voicemail Boxes")
@@ -22,7 +24,23 @@ voicemail.template = "cbi/tblsection"
context = voicemail:option(ListValue, "context", "Context")
context:value("default")
-voicemail:option(Value, "number", "Mailbox Number", "Unique mailbox identifier")
+number = voicemail:option(Value, "number",
+ "Mailbox Number", "Unique mailbox identifier")
+
+function number.write(self, s, val)
+ if val and #val > 0 then
+ local old = self:cfgvalue(s)
+ self.map.uci:foreach("asterisk", "dialplanvoice",
+ function(v)
+ if v.voicebox == old then
+ self.map:set(v['.name'], "voicebox", val)
+ end
+ end)
+ Value.write(self, s, val)
+ end
+end
+
+
voicemail:option(Value, "name", "Ownername", "Human readable display name")
voicemail:option(Value, "password", "Password", "Access protection")
voicemail:option(Value, "email", "eMail", "Where to send voice messages")
@@ -33,5 +51,9 @@ zone.titleref = luci.dispatcher.build_url("admin/asterisk/voicemail/settings")
cbimap.uci:foreach("asterisk", "voicezone",
function(s) zone:value(s['.name']) end)
+function voicemail.remove(self, s)
+ return ast.voicemail.remove(self.map:get(s, "number"), self.map.uci)
+end
+
return cbimap