]> git.parisson.com Git - teleforma.git/commitdiff
try publish buttons
authoryomguy <yomguy@parisson.com>
Wed, 25 Jul 2012 01:47:50 +0000 (03:47 +0200)
committeryomguy <yomguy@parisson.com>
Wed, 25 Jul 2012 01:47:50 +0000 (03:47 +0200)
teleforma/templates/teleforma/course_conference.html
teleforma/views.py

index d1a7bd2897a1925923aa8ac2edeaa492e6ee7a72..2c5bdaada56a33acfd10131ae075b552bc3aedf7 100644 (file)
@@ -4,6 +4,9 @@
 {% load i18n %}
 
 {% block module-action %}
+{% get_telecaster as telecaster %}
+{%  if telecaster %}
+
 <script type="text/javascript">
     var conferenceUtils = {
         stop : function(id){
         });
 </script>
 
-{% get_telecaster as telecaster %}
-{%  if telecaster %}
 <div class="module_action">
 <a href="#" class="component_icon button" id="action_red">{% trans "S T O P" %}</a>
 </div>
 {% endif %}
 
+{% if user.is_staff %}
+
+<script type="text/javascript">
+    var mediaUtils = {
+        publish : function(id){
+            json([id],'teleforma.publish_media',function(){return false;});
+         }
+        unpublish : function(id){
+            json([id],'teleforma.unpublish_media',function(){return false;});
+         }
+        }
+
+    jQuery(window).ready(function(){
+        var p = jQuery('#publish');
+        var f = mediaUtils;
+        p.unbind('click').click(function(){
+            if (p.hasClass('component_icon button icon_edit')){
+                f.publish('{{media.id}}');
+                p.removeClass('component_icon button icon_edit').addClass('component_icon button icon_speaker')
+                p.html('Unpublish')
+                return false;
+                }
+            if (p.hasClass('component_icon button icon_speaker')){
+                f.unpublish('{{media.id}}');
+                p.removeClass('component_icon button icon_speaker').addClass('component_icon button icon_edit')
+                p.html('Publish')
+                return false;
+                }
+            });
+        });
+</script>
+
+{% endif %}
+
 {% endblock module-action %}
 
 {% block course %}
@@ -34,6 +69,9 @@
 <div class="course_title">
     <div style="float: right; font-size: 0.9em;">
         <a href="{% url teleforma-conference-audio conference.id %}" class="component_icon button icon_speaker">&nbsp;{% trans "Audio" %}</a>
+        {% if user.is_staff %}
+        <a id="publish" href="#" class="{% if media.is_published %}component_icon button icon_speaker{% else %}component_icon button icon_edit{% endif %}">Publish</a>
+        {% endif %}
     </div>
 
 {{ course.title }}{% if course.description %} - {{ course.description }}{% endif %} - {{ conference.session }} - {{ conference.professor }}
index bd33c42f501399c903ffbbcaeab65bf9b7279dff..119815e4e6b4f4bac2a16746d596cd2fe0852ef3 100755 (executable)
@@ -271,6 +271,19 @@ class MediaView(DetailView):
             return redirect('teleforma-media-detail', media.id)
 
 
+    @jsonrpc_method('teleforma.publish_media')
+    def publish(request, id):
+        media = Media.objects.get(id=id)
+        media.is_published = True
+        media.save()
+
+    @jsonrpc_method('teleforma.unpublish_media')
+    def unpublish(request, id):
+        media = Media.objects.get(id=id)
+        media.is_published = False
+        media.save()
+
+
 class DocumentView(DetailView):
 
     model = Document