From d1121312601aefe4163165050fbeb6c4bd9cdb33 Mon Sep 17 00:00:00 2001 From: yomguy Date: Fri, 13 Apr 2012 02:07:27 +0200 Subject: [PATCH] auto create rooms for course media --- teleforma/models.py | 2 -- teleforma/views.py | 13 +++++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/teleforma/models.py b/teleforma/models.py index 9c1c3049..c316d5c2 100755 --- a/teleforma/models.py +++ b/teleforma/models.py @@ -117,8 +117,6 @@ class Course(Model): description = CharField(_('description'), max_length=255, blank=True) type = ForeignKey('CourseType', related_name='course', verbose_name=_('course type')) code = CharField(_('code'), max_length=255) - chat_room = OneToOneField(jqchat.models.Room, help_text='Chat room to be used for this lobby.', - blank=True, null=True) notes = generic.GenericRelation(Note) diff --git a/teleforma/views.py b/teleforma/views.py index 8a26cca7..0f95d223 100755 --- a/teleforma/views.py +++ b/teleforma/views.py @@ -26,10 +26,11 @@ from django.core.exceptions import ObjectDoesNotExist from django.contrib.syndication.views import Feed from django.core.paginator import Paginator from django.contrib.auth.decorators import login_required +from django.contrib.contenttypes.models import ContentType from teleforma.models import * from telemeta.views.base import * -from jqchat.models import * +import jqchat.models from xlwt import Workbook @@ -126,7 +127,15 @@ class MediaView(DetailView): context['course'] = media.course context['item'] = media.item context['notes'] = media.notes.all().filter(author=self.request.user) - context['room'] = media.course.chat_room + content_type = ContentType.objects.get(app_label="teleforma", model="course") + rooms = jqchat.models.Room.objects.filter(content_type=content_type, object_id=media.course.id) + if not rooms: + room = jqchat.models.Room.objects.create(content_type=content_type, + object_id=media.course.id, + name=media.course.title[:20]) + else: + room = rooms[0] + context['room'] = room return context @method_decorator(login_required) -- 2.39.5