From 2137166cc980ef7ec540931f9effdaa301cc3f19 Mon Sep 17 00:00:00 2001 From: yomguy Date: Sun, 13 Jan 2013 11:50:12 +0100 Subject: [PATCH] continue new access rules --- telemeta/templates/telemeta/collection_detail.html | 4 ++-- telemeta/views/collection.py | 4 +--- telemeta/views/core.py | 2 +- telemeta/views/home.py | 3 +-- telemeta/views/item.py | 6 ++---- 5 files changed, 7 insertions(+), 12 deletions(-) diff --git a/telemeta/templates/telemeta/collection_detail.html b/telemeta/templates/telemeta/collection_detail.html index 5f6aee15..d9d15ba3 100644 --- a/telemeta/templates/telemeta/collection_detail.html +++ b/telemeta/templates/telemeta/collection_detail.html @@ -52,9 +52,9 @@ {% endblock %} {% block content %} -
+
{% if collection.has_mediafile %} - {% if public_access or perms.telemeta.can_play_all_items %} + {% if public_access == 'full' or perms.telemeta.can_play_all_items %}
diff --git a/telemeta/views/collection.py b/telemeta/views/collection.py index 7fb0def4..bceabfa1 100644 --- a/telemeta/views/collection.py +++ b/telemeta/views/collection.py @@ -52,8 +52,6 @@ class CollectionView(object): messages.error(request, title) return render(request, 'telemeta/messages.html', {'description' : description}) - public_access = get_public_access(collection.public_access, collection.recorded_from_year, - collection.recorded_to_year) playlists = get_playlists(request) related_media = MediaCollectionRelated.objects.filter(collection=collection) @@ -67,7 +65,7 @@ class CollectionView(object): last_revision = None return render(request, template, {'collection': collection, 'playlists': playlists, - 'public_access': public_access, 'items': items, 'related_media': related_media, + 'items': items, 'related_media': related_media, 'parents': parents, 'last_revision': last_revision }) @method_decorator(permission_required('telemeta.change_mediacollection')) diff --git a/telemeta/views/core.py b/telemeta/views/core.py index 28594024..0357dbc8 100644 --- a/telemeta/views/core.py +++ b/telemeta/views/core.py @@ -167,7 +167,7 @@ def get_item_access(item, user): # Auto publish after slipping period (settings.TELEMETA_PUBLIC_ACCESS_PERIOD) if access != 'full' and item.auto_period_access: year_from = str(item.recorded_from_date).split('-')[0] - year_to = str(item.recorded_to_date).split('-')[0]) + year_to = str(item.recorded_to_date).split('-')[0] if year_from and not year_from == 0: year = year_from diff --git a/telemeta/views/home.py b/telemeta/views/home.py index 411193d5..e2e38b6b 100644 --- a/telemeta/views/home.py +++ b/telemeta/views/home.py @@ -49,8 +49,7 @@ class HomeView(object): sound_items = MediaItem.objects.sound() _sound_pub_items = [] for item in sound_items: - if get_public_access(item.public_access, str(item.recorded_from_date).split('-')[0], - str(item.recorded_to_date).split('-')[0]): + if get_item_access(item, request.user) == 'full': _sound_pub_items.append(item) random.shuffle(_sound_pub_items) diff --git a/telemeta/views/item.py b/telemeta/views/item.py index 6e22c334..95ec232e 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -468,11 +468,9 @@ class ItemView(object): """Export a given media item in the specified format (OGG, FLAC, ...)""" item = MediaItem.objects.get(public_id=public_id) - public_access = get_public_access(item.public_access, - str(item.recorded_from_date).split('-')[0], - str(item.recorded_to_date).split('-')[0]) + public_access = get_item_access(item, request.user) - if (not public_access or not extension in settings.TELEMETA_STREAMING_FORMATS) and \ + if (not public_access == 'full' or not extension in settings.TELEMETA_STREAMING_FORMATS) and \ not (request.user.has_perm('telemeta.can_play_all_items') or request.user.is_superuser): mess = ugettext('Access not allowed') title = 'Item file : ' + public_id + '.' + extension + ' : ' + mess -- 2.39.5