]> git.parisson.com Git - teleforma.git/commitdiff
auto create rooms for course media
authoryomguy <yomguy@parisson.com>
Fri, 13 Apr 2012 00:07:27 +0000 (02:07 +0200)
committeryomguy <yomguy@parisson.com>
Fri, 13 Apr 2012 00:07:27 +0000 (02:07 +0200)
teleforma/models.py
teleforma/views.py

index 9c1c3049f83b195b786cca1a43061b1e17e298c5..c316d5c29a59eea873be64d152b7c0c44c46eb3c 100755 (executable)
@@ -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)
 
index 8a26cca7bf57e91b23af7ef1bc7fd677ee333659..0f95d2232a228e661b13d2540aee9c0afd815f92 100755 (executable)
@@ -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)