]> git.parisson.com Git - teleforma.git/commitdiff
add tweeter to course view
authoryomguy <yomguy@parisson.com>
Fri, 13 Apr 2012 00:48:07 +0000 (02:48 +0200)
committeryomguy <yomguy@parisson.com>
Fri, 13 Apr 2012 00:48:07 +0000 (02:48 +0200)
teleforma/htdocs/css/teleforma.css
teleforma/models.py
teleforma/templates/teleforma/course_detail.html
teleforma/templates/teleforma/course_media.html
teleforma/templates/teleforma/courses.html
teleforma/views.py

index ef2ab12467e9fe5a659e253e721c4fd498e49a16..fb70960cadb1fd49eef0d323584743cc919d3754 100644 (file)
@@ -1508,7 +1508,7 @@ input,textarea{
 
 
 #chatwindow {
-    height: 340px;
+    height: 36em;
     border-bottom: 1px solid;
     padding: 0.8em;
     overflow: auto;
index c316d5c29a59eea873be64d152b7c0c44c46eb3c..bb2550a8f3f7eda8723fe6017bec9e9fc2bc893d 100755 (executable)
@@ -134,6 +134,8 @@ class Professor(Model):
     user            = ForeignKey(User, related_name='professor', verbose_name=_('user'), unique=True)
     courses         = ManyToManyField('Course', related_name="professor", verbose_name=_('courses'),
                                         blank=True, null=True)
+    training        = ForeignKey('Training', related_name='professor',
+                                 verbose_name=_('training'), blank=True, null=True)
 
     def __unicode__(self):
         return self.user.username
index e19b41efb9df22feea5625c2b837908522f5bfba..71ebb48c6c8abd162c1d405363f58ab73faf22bc 100644 (file)
@@ -1,6 +1,17 @@
 {% extends "teleforma/courses.html" %}
 {% load i18n %}
 
+{% block extra_javascript %}
+
+<script type="text/javascript" src="/static/jqchat/jqchat.js"></script>
+<script type="text/javascript">
+$(document).ready(function(){
+    InitChatWindow("{% url jqchat_ajax room.id %}", null);
+    });
+</script>
+
+{% endblock extra_javascript %}
+
 {% block courses %}
 {% for course in courses %}
 <li><a href="{% url teleforma-course-detail course.id %}">{{ course.title}} {{ course.type }}</a></li>
@@ -8,7 +19,7 @@
 {% endblock courses %}
 
 {% block course %}
-<div class="desk_course">
+<div class="desk_media">
 <div class="course">
 
 <div class="course_title">{{ course.title }}{% if course.description %} - {{ course.description }}{% endif %}
 </div>
 </div>
 {% endblock course %}
+
+{% block chat %}
+{% if room %}
+<div id="module-set" style="width: 290px">
+<div class="module">
+<h3><img src="{% url telemeta-images "search_wh2.png" %}" alt="rss" style="vertical-align:middle" />{% trans "Tweeter" %}</h3>
+
+<div style="background: white;">
+<div id="chatwindow"><span id="loading">Loading...</span></div>
+<form id="chatform">{% csrf_token %}
+<label for="msg"></label>
+<input type="text" id="msg" />
+<input type="submit" value="{% trans "Send" %}" />
+</form>
+<!--<script type="text/javascript">document.getElementById("msg").focus();</script>-->
+</div>
+</div>
+</div>
+{% endif %}
+{% endblock chat %}
\ No newline at end of file
index 73d26e4e0879085f5e463f74c094003e0a4a1876..f527b82356b0cace817f42331e940bfd02551d14 100644 (file)
@@ -60,11 +60,10 @@ $(document).ready(function(){
 
 {% block chat %}
 {% if room %}
-
 <div id="module-set" style="width: 290px">
-
 <div class="module">
-<h3><img src="{% url telemeta-images "search_wh2.png" %}" alt="rss" style="vertical-align:middle" />{% trans "Chatter" %}</h3>
+<h3><img src="{% url telemeta-images "search_wh2.png" %}" alt="rss" style="vertical-align:middle" />{% trans "Tweeter" %}</h3>
+
 <div style="background: white;">
 <div id="chatwindow"><span id="loading">Loading...</span></div>
 <form id="chatform">{% csrf_token %}
@@ -76,8 +75,5 @@ $(document).ready(function(){
 </div>
 </div>
 </div>
-</div>
-
-
 {% endif %}
 {% endblock chat %}
index 3ca3bcdff0d89465c3c8333c17cecf308827378b..00b4a43097483382cc54b09a4aba097e1af43e80 100644 (file)
@@ -42,7 +42,7 @@
 
 
 {% block course %}
-<div class="desk_large">
+<div class="desk_center">
     {% for course in object_list %}
       <div class="course">
         <div class="course_title">{{ course.title }} - {{ course.type }}{% if course.description %} - {{ course.description }}{% endif %}
index 0f95d2232a228e661b13d2540aee9c0afd815f92..ef9865e07aaac9a254872100206dd09ca30a9088 100755 (executable)
@@ -80,6 +80,16 @@ def document_view(request, pk):
     response = HttpResponse(fsock, mimetype=mimetype)
     return response
 
+def get_room(content_type, id, name):
+    rooms = jqchat.models.Room.objects.filter(content_type=content_type, object_id=id)
+    if not rooms:
+        room = jqchat.models.Room.objects.create(content_type=content_type,
+                                      object_id=id,
+                                      name=name[:20])
+    else:
+        room = rooms[0]
+    return room
+
 
 class CourseView(DetailView):
 
@@ -90,6 +100,8 @@ class CourseView(DetailView):
         context['courses'] = get_courses(self.request.user)
         course = self.get_object()
         context['notes'] = course.notes.all().filter(author=self.request.user)
+        content_type = ContentType.objects.get(app_label="teleforma", model="course")
+        context['room'] = get_room(content_type, course.id, course.title)
         return context
 
     @method_decorator(login_required)
@@ -127,15 +139,8 @@ class MediaView(DetailView):
         context['course'] = media.course
         context['item'] = media.item
         context['notes'] = media.notes.all().filter(author=self.request.user)
-        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
+        content_type = ContentType.objects.get(app_label="teleforma", model="media")
+        context['room'] = get_room(content_type, media.id, media.item.title)
         return context
 
     @method_decorator(login_required)