Fix a really obscure bug with adding default channels. Had a string substitution that didn't match up and wasn't throwing an exception (for some weird reason).
Also add CommChannelMembershipAdmin.
This commit is contained in:
parent
d29c6340fc
commit
ddfd479ba9
4 changed files with 25 additions and 10 deletions
|
|
@ -1,10 +1,14 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from src.channels.models import CommChannel, CommChannelMessage
|
from src.channels.models import CommChannel, CommChannelMessage, CommChannelMembership
|
||||||
|
|
||||||
class CommChannelAdmin(admin.ModelAdmin):
|
class CommChannelAdmin(admin.ModelAdmin):
|
||||||
list_display = ('name', 'ansi_name', 'owner', 'description', 'is_joined_by_default')
|
list_display = ('name', 'ansi_name', 'owner', 'description', 'is_joined_by_default')
|
||||||
admin.site.register(CommChannel, CommChannelAdmin)
|
admin.site.register(CommChannel, CommChannelAdmin)
|
||||||
|
|
||||||
|
class CommChannelMembershipAdmin(admin.ModelAdmin):
|
||||||
|
list_display = ('channel', 'listener', 'user_alias', 'is_listening')
|
||||||
|
admin.site.register(CommChannelMembership, CommChannelMembershipAdmin)
|
||||||
|
|
||||||
class CommChannelMessageAdmin(admin.ModelAdmin):
|
class CommChannelMessageAdmin(admin.ModelAdmin):
|
||||||
list_display = ('channel', 'date_sent', 'message')
|
list_display = ('channel', 'date_sent', 'message')
|
||||||
admin.site.register(CommChannelMessage, CommChannelMessageAdmin)
|
admin.site.register(CommChannelMessage, CommChannelMessageAdmin)
|
||||||
|
|
@ -119,7 +119,8 @@ def plr_has_channel(session, cname, alias_search=False, return_muted=False):
|
||||||
|
|
||||||
def plr_set_channel_listening(session, alias, listening):
|
def plr_set_channel_listening(session, alias, listening):
|
||||||
"""
|
"""
|
||||||
Enables or disables listening on a particular channel.
|
Enables or disables listening on a particular channel based on the
|
||||||
|
user's channel alias.
|
||||||
|
|
||||||
session: (SessionProtocol) A reference to the player session.
|
session: (SessionProtocol) A reference to the player session.
|
||||||
alias: (str) The channel alias.
|
alias: (str) The channel alias.
|
||||||
|
|
|
||||||
|
|
@ -366,8 +366,12 @@ class ObjectManager(models.Manager):
|
||||||
|
|
||||||
# Activate the player's session and set them loose.
|
# Activate the player's session and set them loose.
|
||||||
command.session.login(user)
|
command.session.login(user)
|
||||||
print 'Registration: %s' % (command.session, user_object.get_name())
|
|
||||||
|
logger.log_infomsg('Registration: %s' % user_object.get_name())
|
||||||
user_object.emit_to("Welcome to %s, %s.\n\r" % (
|
user_object.emit_to("Welcome to %s, %s.\n\r" % (
|
||||||
ConfigValue.objects.get_configvalue('site_name'),
|
ConfigValue.objects.get_configvalue('site_name'),
|
||||||
user_object.get_name(show_dbref=False)))
|
user_object.get_name(show_dbref=False)))
|
||||||
|
|
||||||
|
# Add the user to all of the CommChannel objects that are flagged
|
||||||
|
# is_joined_by_default.
|
||||||
command.session.add_default_channels()
|
command.session.add_default_channels()
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@ from datetime import datetime
|
||||||
from twisted.conch.telnet import StatefulTelnetProtocol
|
from twisted.conch.telnet import StatefulTelnetProtocol
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from src.objects.models import Object
|
|
||||||
from src.channels.models import CommChannel
|
|
||||||
from src.config.models import ConnectScreen, ConfigValue
|
|
||||||
from util import functions_general
|
from util import functions_general
|
||||||
import src.comsys
|
from src.objects.models import Object
|
||||||
|
from src.channels.models import CommChannel, CommChannelMembership
|
||||||
|
from src.config.models import ConnectScreen, ConfigValue
|
||||||
|
from src import comsys
|
||||||
import cmdhandler
|
import cmdhandler
|
||||||
import logger
|
import logger
|
||||||
import session_mgr
|
import session_mgr
|
||||||
|
|
@ -177,7 +177,7 @@ class SessionProtocol(StatefulTelnetProtocol):
|
||||||
self.cemit_info('Logged in: %s' % self)
|
self.cemit_info('Logged in: %s' % self)
|
||||||
|
|
||||||
# Update their account's last login time.
|
# Update their account's last login time.
|
||||||
user.last_login = datetime.now()
|
user.last_login = datetime.now()
|
||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
# In case the account and the object get out of sync, fix it.
|
# In case the account and the object get out of sync, fix it.
|
||||||
|
|
@ -199,8 +199,14 @@ class SessionProtocol(StatefulTelnetProtocol):
|
||||||
"""
|
"""
|
||||||
# Add the default channels.
|
# Add the default channels.
|
||||||
for chan in CommChannel.objects.filter(is_joined_by_default=True):
|
for chan in CommChannel.objects.filter(is_joined_by_default=True):
|
||||||
|
logger.log_infomsg("ADDING BY DEFAULT %s" % chan)
|
||||||
chan_alias = chan.get_default_chan_alias()
|
chan_alias = chan.get_default_chan_alias()
|
||||||
src.comsys.plr_set_channel(self, chan_alias, chan.name, True)
|
membership = CommChannelMembership(channel=chan,
|
||||||
|
listener=self.get_pobject(),
|
||||||
|
user_alias=chan_alias)
|
||||||
|
membership.save()
|
||||||
|
|
||||||
|
comsys.plr_set_channel_listening(self, chan_alias, True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
"""
|
"""
|
||||||
|
|
@ -218,5 +224,5 @@ class SessionProtocol(StatefulTelnetProtocol):
|
||||||
Channel emits info to the appropriate info channel. By default, this
|
Channel emits info to the appropriate info channel. By default, this
|
||||||
is MUDConnections.
|
is MUDConnections.
|
||||||
"""
|
"""
|
||||||
src.comsys.send_cmessage(settings.COMMCHAN_MUD_CONNECTIONS,
|
comsys.send_cmessage(settings.COMMCHAN_MUD_CONNECTIONS,
|
||||||
'Session: %s' % message)
|
'Session: %s' % message)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue