diff --git a/pyweb/mumble/media/js/channelviewerplugins.js b/pyweb/mumble/media/js/channelviewerplugins.js index a3b0299..fcb05ba 100644 --- a/pyweb/mumble/media/js/channelviewerplugins.js +++ b/pyweb/mumble/media/js/channelviewerplugins.js @@ -254,7 +254,11 @@ Ext.ux.MumbleChannelEditor = Ext.extend( Ext.Component, { handler: function(btn){ Ext.Msg.prompt(gettext('Name'), gettext('Please enter the channel name:'), function(btn, text){ if (btn == 'ok'){ - Mumble.addChannel( this.serverid, text, this.chandata.id ); + Mumble.addChannel( this.serverid, text, this.chandata.id, function(provider, response){ + if( response.type == "exception" ){ + Ext.Msg.alert( gettext("Error"), response.message ); + } + }); } }, this); } @@ -263,7 +267,11 @@ Ext.ux.MumbleChannelEditor = Ext.extend( Ext.Component, { text: gettext("Submit name/description"), handler: function(btn){ f = btn.ownerCt.ownerCt.getForm().getValues(); - Mumble.renameChannel(this.serverid, this.chandata.id, f.name, f.description); + Mumble.renameChannel(this.serverid, this.chandata.id, f.name, f.description, function(provider, response){ + if( response.type == "exception" ){ + Ext.Msg.alert( gettext("Error"), response.message ); + } + }); } }, { text: gettext('Delete channel'), diff --git a/pyweb/mumble/models.py b/pyweb/mumble/models.py index c3a9ea5..6cc0bad 100644 --- a/pyweb/mumble/models.py +++ b/pyweb/mumble/models.py @@ -613,12 +613,18 @@ class Mumble( models.Model ): return self.ctl.setTexture( self.srvid, userid, image ) def addChannel( self, name, parentid ): + regex = (self.channel or self.server.getDefaultConf()['channelname']) + if regex and not re.match( regex, name ): + raise NameError(_("That name is forbidden by the server.")) return self.ctl.addChannel( self.srvid, name, parentid ) def removeChannel( self, channelid ): return self.ctl.removeChannel( self.srvid, channelid ) def renameChannel( self, channelid, name, description ): + regex = (self.channel or self.server.getDefaultConf()['channelname']) + if regex and not re.match( regex, name ): + raise NameError(_("That name is forbidden by the server.")) return self.ctl.renameChannel( self.srvid, channelid, name, description ) def moveChannel( self, channelid, parentid ):