]> git.0d.be Git - panikweb.git/commitdiff
display chatrooms when open
authorFrédéric Péters <fpeters@0d.be>
Thu, 21 Apr 2016 14:07:52 +0000 (16:07 +0200)
committerFrédéric Péters <fpeters@0d.be>
Thu, 21 Apr 2016 14:07:52 +0000 (16:07 +0200)
panikweb/views.py
panikweb_templates/static/css/specifics.css
panikweb_templates/static/js/specifics.js
panikweb_templates/templates/chat.html
panikweb_templates/templates/includes/player.html

index c8ed62e4b0df383850b9868bfe50bc9e15747497..d22662e022d9c075511b36961659b517e60b8e2f 100644 (file)
@@ -5,9 +5,9 @@ import os
 import stat
 import time
 
 import stat
 import time
 
+from django.core.urlresolvers import reverse
 from django.conf import settings
 from django.http import Http404
 from django.conf import settings
 from django.http import Http404
-
 from django.views.decorators.cache import cache_control
 from django.views.generic.base import TemplateView
 from django.views.generic.detail import DetailView
 from django.views.decorators.cache import cache_control
 from django.views.generic.base import TemplateView
 from django.views.generic.detail import DetailView
@@ -627,9 +627,13 @@ def onair(request):
             'url': d['episode'].get_absolute_url()
         }
     if d.get('emission'):
             'url': d['episode'].get_absolute_url()
         }
     if d.get('emission'):
+        chat_url = None
+        if d['emission'].chat_open:
+            chat_url = reverse('emission-chat', kwargs={'slug': d['emission'].slug})
         d['emission'] = {
             'title': d['emission'].title,
         d['emission'] = {
             'title': d['emission'].title,
-            'url': d['emission'].get_absolute_url()
+            'url': d['emission'].get_absolute_url(),
+            'chat': chat_url,
         }
     if d.get('nonstop'):
         d['nonstop'] = {
         }
     if d.get('nonstop'):
         d['nonstop'] = {
index b09b83daf7df8c7be16a805b9f8c3e8ea192b975..c527005ae9667131bf3a389335ddcc0891d0c41b 100644 (file)
@@ -1951,3 +1951,18 @@ div.top-logo img {
                max-width: none;
        }
 }
                max-width: none;
        }
 }
+
+div#CurrentlyChatting {
+       margin-top: 1em;
+}
+
+div#CurrentlyChatting a {
+       border-radius: 5px;
+       padding: 1ex 0 0.5ex 0;
+       display: block;
+       box-sizing: border-box;
+       text-align: center;
+       width: 100%;
+       background: #FF6633;
+       color: white !important;
+}
index cb7eadd3134f3b0c80d7ef73c599ae521cdb6c8b..e7beb493a495e1dbcbb52075d0c1b45f779e36a1 100644 (file)
@@ -220,6 +220,12 @@ $(function() {
                        else {
                                onairContainer = $('<span>Unknown (Probably Non-Stop)</span>');
                        }
                        else {
                                onairContainer = $('<span>Unknown (Probably Non-Stop)</span>');
                        }
+                       if (onair.data.emission.chat) {
+                               $('#CurrentlyChatting a').attr('href', onair.data.emission.chat);
+                               $('#CurrentlyChatting').show();
+                       } else {
+                               $('#CurrentlyChatting').hide();
+                       }
                        var current_html = WhatsOnAir.html();
                        var new_html = '<span>' + onairContainer.html() + '</span>';
                        if (new_html !== current_html) {
                        var current_html = WhatsOnAir.html();
                        var new_html = '<span>' + onairContainer.html() + '</span>';
                        if (new_html !== current_html) {
@@ -545,8 +551,7 @@ $(function() {
                });
 
                 /* CHAT */
                });
 
                 /* CHAT */
-                var $chat = $('#chat');
-                if ($chat.length) {
+                if ($('#chat').length) {
                     var $msg = $('input#msg');
                     var $send = $('button#send');
                     var chat_roster = Object();
                     var $msg = $('input#msg');
                     var $send = $('button#send');
                     var chat_roster = Object();
@@ -600,7 +605,7 @@ $(function() {
                                         } else {
                                             klass = 'msg-in';
                                         }
                                         } else {
                                             klass = 'msg-in';
                                         }
-                                        var new_msg = $('<div class="msg new ' + klass + '"><span class="from">' + from + '</span> <span class="content">' + msg.textContent + '</span></div>').prependTo($chat);
+                                        var new_msg = $('<div class="msg new ' + klass + '"><span class="from">' + from + '</span> <span class="content">' + msg.textContent + '</span></div>').prependTo($('#chat'));
                                         new_msg[0].offsetHeight; /* trigger reflow */
                                         new_msg.removeClass('new');
                                         $('div#chat div:nth-child(20)').remove()
                                         new_msg[0].offsetHeight; /* trigger reflow */
                                         new_msg.removeClass('new');
                                         $('div#chat div:nth-child(20)').remove()
@@ -619,7 +624,7 @@ $(function() {
                                             if (chat_roster[nick] == true) {
                                                 for (contact in roster) {
                                                         if (chat_roster[contact] !== true) {
                                             if (chat_roster[nick] == true) {
                                                 for (contact in roster) {
                                                         if (chat_roster[contact] !== true) {
-                                                                var new_msg = $('<div class="msg info new"><span class="content">' + contact + ' est dans la place.</span></div>').prependTo($chat);
+                                                                var new_msg = $('<div class="msg info new"><span class="content">' + contact + ' est dans la place.</span></div>').prependTo($('#chat'));
                                                                 new_msg[0].offsetHeight; /* trigger reflow */
                                                                 new_msg.removeClass('new');
                                                         }
                                                                 new_msg[0].offsetHeight; /* trigger reflow */
                                                                 new_msg.removeClass('new');
                                                         }
index 678184725b005f2beb09e02c4deba815d7be9ab7..486eea0564ef6697fca3967947ab75aa6354c402 100644 (file)
@@ -26,6 +26,8 @@
 
 <div class="wrapper navigation">
        <div class="">
 
 <div class="wrapper navigation">
        <div class="">
+
+{% if emission.chat_open %}
 <div class="chat-area">
 
 <div class="nick">Pseudo ? <input name="nick"> <button>Se connecter</button></div>
 <div class="chat-area">
 
 <div class="nick">Pseudo ? <input name="nick"> <button>Se connecter</button></div>
 <div id="chat" data-chatroom="{{emission.slug}}">
 </div>
 </div> <!-- .chat-area -->
 <div id="chat" data-chatroom="{{emission.slug}}">
 </div>
 </div> <!-- .chat-area -->
+{% else %}
+
+<p class="info">
+Ce chat n'est pour le moment pas ouvert.
+</p>
+
+{% endif %}
+
+
        </div> <!-- .leftPart -->
 
 </div>
        </div> <!-- .leftPart -->
 
 </div>
index 98c3ae4ace6c49401797be6f850dd63515f46b5a..8117d3c15be1965e32e6074b73146a9145842ffb 100644 (file)
@@ -17,6 +17,9 @@
                                        <span id="WhatsOnAir"></span>
                                        <button class="icon-refresh" id="RefreshWhatsOnAir"></button>
                                </div>
                                        <span id="WhatsOnAir"></span>
                                        <button class="icon-refresh" id="RefreshWhatsOnAir"></button>
                                </div>
+                               <div id="CurrentlyChatting" style="display: none";>
+                                       <a href="">CHAT</a>
+                               </div>
                                <audio 
                                        id="DirectStreamPanik" 
                                        preload="none" 
                                <audio 
                                        id="DirectStreamPanik" 
                                        preload="none"