]> git.parisson.com Git - telemeta.git/commitdiff
fix collection and item access rights
authoryomguy <yomguy@parisson.com>
Wed, 8 Jun 2011 15:44:52 +0000 (17:44 +0200)
committeryomguy <yomguy@parisson.com>
Wed, 8 Jun 2011 15:44:52 +0000 (17:44 +0200)
telemeta/templates/telemeta_default/collection_detail.html
telemeta/templates/telemeta_default/mediaitem_detail.html
telemeta/web/base.py

index f083cc3596a31c2631d279fe7ccd4b039c2521a5..95d8bb99663cb0843da9e768b4cd141f6eae25b0 100644 (file)
@@ -73,7 +73,7 @@
 {% endblock %}
 
 {% block content %}
-    <div class="{% if collection.has_mediafile %}{% if item.public_access == 'full' or public_access or user.is_staff %}with-rightcol{% endif %}{% endif %}">
+    <div class="{% if collection.has_mediafile %}{% if public_access or user.is_staff or user.is_superuser %}with-rightcol{% endif %}{% endif %}">
         {% if collection.has_mediafile %}
         {% if public_access or user.is_staff or user.is_superuser %}
         <div id="rightcol">
index 7b95eced1f84a7515bcdf8db7253bea34d0b6544..6f4d990a042cd3305615629047cb56371600f447 100644 (file)
@@ -87,7 +87,7 @@
 {% endblock %}
 
 {% block content %}
-<div class="{% if item.file %}{% if item.public_access == 'full' or public_access or user.is_staff %}with-rightcol{% endif %}{% endif %}">
+<div class="{% if item.file %}{% if public_access or user.is_staff or user.is_superuser %}with-rightcol{% endif %}{% endif %}">
     {% if item.file %}
     {% if public_access or user.is_staff or user.is_superuser %}
     <div id="player_maximized" class="ts-skin-lab">
         </div>
         <!--</div>-->
 
-        {% if audio_export_enabled %}
+        {% if audio_export_enabled or user.is_staff or user.is_superuser %}
         <div class="exporter">
             <p><img src="images/download.png" alt="download" style="vertical-align:middle" /> {% trans "Download:" %}
                 {% for format in export_formats %}
index f430e39d08549aa0a9e28b787f8023be8629da26..c1ccdf468955645aa0c8d08d5a6107f91b2f85f6 100644 (file)
@@ -156,8 +156,10 @@ class WebView(object):
         collection = MediaCollection.objects.get(public_id=public_id)
         if collection.public_access == 'none' and not request.user.is_staff:
             return HttpResponseRedirect('not_allowed/')
+        public_access = self.get_public_access(collection.public_access, collection.recorded_from_year, 
+                                                collection.recorded_to_year)
         playlists = self.get_playlists(request)
-        return render(request, template, {'collection': collection, 'playlists' : playlists})
+        return render(request, template, {'collection': collection, 'playlists': playlists, 'public_access': public_access})
 
     @method_decorator(permission_required('telemeta.change_mediacollection'))
     def collection_edit(self, request, public_id, template='telemeta/collection_edit.html'):
@@ -272,7 +274,8 @@ class WebView(object):
         previous, next = self.item_previous_next(item)
         self.item_analyze(item)
         playlists = self.get_playlists(request)
-        public_access = self.get_public_access(item.public_access, item.recorded_from_date, item.recorded_to_date)
+        public_access = self.get_public_access(item.public_access, str(item.recorded_from_date).split('-')[0], 
+                                                str(item.recorded_to_date).split('-')[0])
                 
         return render(request, template,
                     {'item': item, 'export_formats': formats,
@@ -282,23 +285,22 @@ class WebView(object):
                     'public_access': public_access,
                     })
     
-    def get_public_access(self, access, date_from, date_to):
+    def get_public_access(self, access, year_from, year_to):
         # Rolling publishing date : public access is given when time between recorded year 
         # and current year is over the settings value PUBLIC_ACCESS_PERIOD
-        if date_to:
-            date = date_to
-        elif date_from:
-            date = date_from
+        if year_to:
+            year = year_to
+        elif year_from:
+            year = year_from
         else:
-            date = None
+            year = None
         if access == 'full':
             public_access = True
         else:
             public_access = False
-        if date:
-            year = str(date).split('-')
+        if year:
             year_now = datetime.datetime.now().strftime("%Y")
-            if int(year_now) - int(year[0]) >= settings.TELEMETA_PUBLIC_ACCESS_PERIOD:
+            if int(year_now) - int(year) >= settings.TELEMETA_PUBLIC_ACCESS_PERIOD:
                 public_access = True
         
         return public_access