From: yomguy Date: Wed, 22 Jun 2011 10:39:13 +0000 (+0200) Subject: remove /*/not_allowed url but send messages and the template in each restrict access... X-Git-Tag: 1.1~91 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=b9a5c10393a17ea9495b9902b50c35c1fa1cfd5b;p=telemeta.git remove /*/not_allowed url but send messages and the template in each restrict access event --- diff --git a/telemeta/locale/de/LC_MESSAGES/django.mo b/telemeta/locale/de/LC_MESSAGES/django.mo index 5fd218f0..636955b6 100644 Binary files a/telemeta/locale/de/LC_MESSAGES/django.mo and b/telemeta/locale/de/LC_MESSAGES/django.mo differ diff --git a/telemeta/locale/de/LC_MESSAGES/django.po b/telemeta/locale/de/LC_MESSAGES/django.po index b0a47d5c..0fabf952 100644 --- a/telemeta/locale/de/LC_MESSAGES/django.po +++ b/telemeta/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-22 11:42+0200\n" +"POT-Creation-Date: 2011-06-22 12:37+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -366,7 +366,7 @@ msgid "file" msgstr "" #: models/media.py:278 models/media.py:471 -#: templates/telemeta_default/mediaitem_detail.html:176 +#: templates/telemeta_default/mediaitem_detail.html:178 msgid "keywords" msgstr "" @@ -687,20 +687,20 @@ msgid "Save" msgstr "" #: templates/telemeta_default/collection_detail.html:5 -#: templates/telemeta_default/collection_detail_dc.html:5 +#: templates/telemeta_default/collection_detail_dc.html:5 web/base.py:137 msgid "Collection" msgstr "" #: templates/telemeta_default/collection_detail.html:64 -#: templates/telemeta_default/mediaitem_detail.html:76 -#: templates/telemeta_default/mediaitem_detail.html:176 -#: templates/telemeta_default/mediaitem_detail.html:215 +#: templates/telemeta_default/mediaitem_detail.html:78 +#: templates/telemeta_default/mediaitem_detail.html:178 +#: templates/telemeta_default/mediaitem_detail.html:217 #: templates/telemeta_default/profile_detail.html:63 msgid "Edit" msgstr "" #: templates/telemeta_default/collection_detail.html:65 -#: templates/telemeta_default/mediaitem_detail.html:77 +#: templates/telemeta_default/mediaitem_detail.html:79 msgid "Copy" msgstr "" @@ -709,7 +709,7 @@ msgid "Add item" msgstr "" #: templates/telemeta_default/collection_detail.html:69 -#: templates/telemeta_default/mediaitem_detail.html:80 +#: templates/telemeta_default/mediaitem_detail.html:82 msgid "Add to playlist" msgstr "" @@ -722,7 +722,7 @@ msgid "Recording period" msgstr "" #: templates/telemeta_default/collection_detail.html:124 -#: templates/telemeta_default/mediaitem_detail.html:160 +#: templates/telemeta_default/mediaitem_detail.html:162 msgid "Geographic and cultural informations" msgstr "" @@ -738,7 +738,7 @@ msgid "Bibliographic references" msgstr "" #: templates/telemeta_default/collection_detail.html:164 -#: templates/telemeta_default/mediaitem_detail.html:232 +#: templates/telemeta_default/mediaitem_detail.html:234 msgid "Archiving data" msgstr "" @@ -751,17 +751,17 @@ msgid "Comments" msgstr "" #: templates/telemeta_default/collection_detail.html:188 -#: templates/telemeta_default/mediaitem_detail.html:248 +#: templates/telemeta_default/mediaitem_detail.html:250 msgid "Technical data" msgstr "" #: templates/telemeta_default/collection_detail.html:193 -#: templates/telemeta_default/mediaitem_detail.html:251 +#: templates/telemeta_default/mediaitem_detail.html:253 msgid "Media type" msgstr "" #: templates/telemeta_default/collection_detail.html:193 -#: templates/telemeta_default/mediaitem_detail.html:251 +#: templates/telemeta_default/mediaitem_detail.html:253 msgid "Audio" msgstr "" @@ -827,7 +827,7 @@ msgstr "" #: templates/telemeta_default/enumeration_edit.html:14 #: templates/telemeta_default/enumeration_edit.html:28 #: templates/telemeta_default/enumeration_edit_value.html:14 -#: templates/telemeta_default/mediaitem_detail.html:120 +#: templates/telemeta_default/mediaitem_detail.html:122 msgid "Value" msgstr "" @@ -895,7 +895,7 @@ msgid "Playlists" msgstr "" #: templates/telemeta_default/home.html:35 -#: templates/telemeta_default/mediaitem_detail.html:262 +#: templates/telemeta_default/mediaitem_detail.html:264 msgid "Delete" msgstr "" @@ -967,70 +967,70 @@ msgstr "" #: templates/telemeta_default/mediaitem_add.html:5 #: templates/telemeta_default/mediaitem_copy.html:5 -#: templates/telemeta_default/mediaitem_detail.html:5 +#: templates/telemeta_default/mediaitem_detail.html:5 web/base.py:245 msgid "Item" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:82 +#: templates/telemeta_default/mediaitem_detail.html:84 #: templates/telemeta_default/paginator.html:5 msgid "Previous" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:83 +#: templates/telemeta_default/mediaitem_detail.html:85 #: templates/telemeta_default/paginator.html:23 msgid "Next" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:109 +#: templates/telemeta_default/mediaitem_detail.html:111 msgid "Analysis" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:111 +#: templates/telemeta_default/mediaitem_detail.html:113 msgid "Markers" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:119 +#: templates/telemeta_default/mediaitem_detail.html:121 msgid "Property" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:121 +#: templates/telemeta_default/mediaitem_detail.html:123 msgid "Unit" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:129 +#: templates/telemeta_default/mediaitem_detail.html:131 msgid "Download:" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:150 +#: templates/telemeta_default/mediaitem_detail.html:152 msgid "Recording date" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:162 +#: templates/telemeta_default/mediaitem_detail.html:164 #: templates/telemeta_default/inc/mediaitem_list.html:18 msgid "Location" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:168 +#: templates/telemeta_default/mediaitem_detail.html:170 msgid "Comments / ethnographic context" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:181 +#: templates/telemeta_default/mediaitem_detail.html:183 msgid "Musical informations" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:215 +#: templates/telemeta_default/mediaitem_detail.html:217 msgid "performance" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:220 +#: templates/telemeta_default/mediaitem_detail.html:222 msgid "General informations" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:222 +#: templates/telemeta_default/mediaitem_detail.html:224 msgid "Remarks" msgstr "" -#: templates/telemeta_default/mediaitem_detail.html:238 +#: templates/telemeta_default/mediaitem_detail.html:240 msgid "Published references" msgstr "" @@ -1055,7 +1055,7 @@ msgstr "" msgid "User Profile" msgstr "" -#: templates/telemeta_default/profile_detail.html:8 +#: templates/telemeta_default/profile_detail.html:8 web/base.py:1129 msgid "User profile" msgstr "" @@ -1151,8 +1151,8 @@ msgstr "" msgid "No item" msgstr "" -#: templates/telemeta_default/inc/module_revisions.html:7 web/base.py:1083 -#: web/base.py:1197 +#: templates/telemeta_default/inc/module_revisions.html:7 web/base.py:1098 +#: web/base.py:1209 msgid "Last changes" msgstr "" @@ -1326,12 +1326,11 @@ msgid_plural "%(count)d collections" msgstr[0] "" msgstr[1] "" -#: web/base.py:1094 +#: web/base.py:136 web/base.py:244 web/base.py:496 web/base.py:1128 msgid "Access not allowed" msgstr "" -#: web/base.py:1096 +#: web/base.py:138 web/base.py:246 web/base.py:498 web/base.py:1130 msgid "" -"Please login or contact the website administator to get admin or private " -"access." +"Please login or contact the website administator to get a private access." msgstr "" diff --git a/telemeta/locale/fr/LC_MESSAGES/django.mo b/telemeta/locale/fr/LC_MESSAGES/django.mo index c51a8538..fb39a1c5 100644 Binary files a/telemeta/locale/fr/LC_MESSAGES/django.mo and b/telemeta/locale/fr/LC_MESSAGES/django.mo differ diff --git a/telemeta/locale/fr/LC_MESSAGES/django.po b/telemeta/locale/fr/LC_MESSAGES/django.po index 15c94169..f370c200 100644 --- a/telemeta/locale/fr/LC_MESSAGES/django.po +++ b/telemeta/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-06-22 11:42+0200\n" +"POT-Creation-Date: 2011-06-22 12:37+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Olivier Guilyardi \n" "Language-Team: LANGUAGE \n" @@ -366,7 +366,7 @@ msgid "file" msgstr "fichier" #: models/media.py:278 models/media.py:471 -#: templates/telemeta_default/mediaitem_detail.html:176 +#: templates/telemeta_default/mediaitem_detail.html:178 msgid "keywords" msgstr "mots-clés" @@ -695,20 +695,20 @@ msgid "Save" msgstr "Enregistrer" #: templates/telemeta_default/collection_detail.html:5 -#: templates/telemeta_default/collection_detail_dc.html:5 +#: templates/telemeta_default/collection_detail_dc.html:5 web/base.py:137 msgid "Collection" msgstr "Collection" #: templates/telemeta_default/collection_detail.html:64 -#: templates/telemeta_default/mediaitem_detail.html:76 -#: templates/telemeta_default/mediaitem_detail.html:176 -#: templates/telemeta_default/mediaitem_detail.html:215 +#: templates/telemeta_default/mediaitem_detail.html:78 +#: templates/telemeta_default/mediaitem_detail.html:178 +#: templates/telemeta_default/mediaitem_detail.html:217 #: templates/telemeta_default/profile_detail.html:63 msgid "Edit" msgstr "Editer" #: templates/telemeta_default/collection_detail.html:65 -#: templates/telemeta_default/mediaitem_detail.html:77 +#: templates/telemeta_default/mediaitem_detail.html:79 msgid "Copy" msgstr "Copier" @@ -717,7 +717,7 @@ msgid "Add item" msgstr "Ajouter item" #: templates/telemeta_default/collection_detail.html:69 -#: templates/telemeta_default/mediaitem_detail.html:80 +#: templates/telemeta_default/mediaitem_detail.html:82 msgid "Add to playlist" msgstr "Ajouter à la liste" @@ -730,7 +730,7 @@ msgid "Recording period" msgstr "Période d'enregistrement" #: templates/telemeta_default/collection_detail.html:124 -#: templates/telemeta_default/mediaitem_detail.html:160 +#: templates/telemeta_default/mediaitem_detail.html:162 msgid "Geographic and cultural informations" msgstr "Indications géographiques et culturelles" @@ -746,7 +746,7 @@ msgid "Bibliographic references" msgstr "Références bibliographiques" #: templates/telemeta_default/collection_detail.html:164 -#: templates/telemeta_default/mediaitem_detail.html:232 +#: templates/telemeta_default/mediaitem_detail.html:234 msgid "Archiving data" msgstr "Données d'archivage" @@ -759,17 +759,17 @@ msgid "Comments" msgstr "Commentaires" #: templates/telemeta_default/collection_detail.html:188 -#: templates/telemeta_default/mediaitem_detail.html:248 +#: templates/telemeta_default/mediaitem_detail.html:250 msgid "Technical data" msgstr "Données techniques" #: templates/telemeta_default/collection_detail.html:193 -#: templates/telemeta_default/mediaitem_detail.html:251 +#: templates/telemeta_default/mediaitem_detail.html:253 msgid "Media type" msgstr "Type de media" #: templates/telemeta_default/collection_detail.html:193 -#: templates/telemeta_default/mediaitem_detail.html:251 +#: templates/telemeta_default/mediaitem_detail.html:253 msgid "Audio" msgstr "Audio" @@ -835,7 +835,7 @@ msgstr "Ajouter une entrée" #: templates/telemeta_default/enumeration_edit.html:14 #: templates/telemeta_default/enumeration_edit.html:28 #: templates/telemeta_default/enumeration_edit_value.html:14 -#: templates/telemeta_default/mediaitem_detail.html:120 +#: templates/telemeta_default/mediaitem_detail.html:122 msgid "Value" msgstr "Valeur" @@ -903,7 +903,7 @@ msgid "Playlists" msgstr "Listes de lecture" #: templates/telemeta_default/home.html:35 -#: templates/telemeta_default/mediaitem_detail.html:262 +#: templates/telemeta_default/mediaitem_detail.html:264 msgid "Delete" msgstr "Supprimer" @@ -976,70 +976,70 @@ msgstr "Mot de passe oublié" #: templates/telemeta_default/mediaitem_add.html:5 #: templates/telemeta_default/mediaitem_copy.html:5 -#: templates/telemeta_default/mediaitem_detail.html:5 +#: templates/telemeta_default/mediaitem_detail.html:5 web/base.py:245 msgid "Item" msgstr "Item" -#: templates/telemeta_default/mediaitem_detail.html:82 +#: templates/telemeta_default/mediaitem_detail.html:84 #: templates/telemeta_default/paginator.html:5 msgid "Previous" msgstr "Précédent" -#: templates/telemeta_default/mediaitem_detail.html:83 +#: templates/telemeta_default/mediaitem_detail.html:85 #: templates/telemeta_default/paginator.html:23 msgid "Next" msgstr "Suivant" -#: templates/telemeta_default/mediaitem_detail.html:109 +#: templates/telemeta_default/mediaitem_detail.html:111 msgid "Analysis" msgstr "Analyse" -#: templates/telemeta_default/mediaitem_detail.html:111 +#: templates/telemeta_default/mediaitem_detail.html:113 msgid "Markers" msgstr "Marqueurs" -#: templates/telemeta_default/mediaitem_detail.html:119 +#: templates/telemeta_default/mediaitem_detail.html:121 msgid "Property" msgstr "Propriété" -#: templates/telemeta_default/mediaitem_detail.html:121 +#: templates/telemeta_default/mediaitem_detail.html:123 msgid "Unit" msgstr "Unité" -#: templates/telemeta_default/mediaitem_detail.html:129 +#: templates/telemeta_default/mediaitem_detail.html:131 msgid "Download:" msgstr "Téléchargement:" -#: templates/telemeta_default/mediaitem_detail.html:150 +#: templates/telemeta_default/mediaitem_detail.html:152 msgid "Recording date" msgstr "Date d'enregistrement" -#: templates/telemeta_default/mediaitem_detail.html:162 +#: templates/telemeta_default/mediaitem_detail.html:164 #: templates/telemeta_default/inc/mediaitem_list.html:18 msgid "Location" msgstr "Lieu" -#: templates/telemeta_default/mediaitem_detail.html:168 +#: templates/telemeta_default/mediaitem_detail.html:170 msgid "Comments / ethnographic context" msgstr "Commentaires / contexte ethnographique" -#: templates/telemeta_default/mediaitem_detail.html:181 +#: templates/telemeta_default/mediaitem_detail.html:183 msgid "Musical informations" msgstr "Informations sur la musique" -#: templates/telemeta_default/mediaitem_detail.html:215 +#: templates/telemeta_default/mediaitem_detail.html:217 msgid "performance" msgstr "composition" -#: templates/telemeta_default/mediaitem_detail.html:220 +#: templates/telemeta_default/mediaitem_detail.html:222 msgid "General informations" msgstr "Informations générales" -#: templates/telemeta_default/mediaitem_detail.html:222 +#: templates/telemeta_default/mediaitem_detail.html:224 msgid "Remarks" msgstr "Remarques" -#: templates/telemeta_default/mediaitem_detail.html:238 +#: templates/telemeta_default/mediaitem_detail.html:240 msgid "Published references" msgstr "Références éditées" @@ -1064,7 +1064,7 @@ msgstr "Formation" msgid "User Profile" msgstr "Profil utilisateur" -#: templates/telemeta_default/profile_detail.html:8 +#: templates/telemeta_default/profile_detail.html:8 web/base.py:1129 msgid "User profile" msgstr "Profil utilisateur" @@ -1160,8 +1160,8 @@ msgstr "Etat/Continent" msgid "No item" msgstr "Aucun item" -#: templates/telemeta_default/inc/module_revisions.html:7 web/base.py:1083 -#: web/base.py:1197 +#: templates/telemeta_default/inc/module_revisions.html:7 web/base.py:1098 +#: web/base.py:1209 msgid "Last changes" msgstr "Dernières modifications" @@ -1341,18 +1341,18 @@ msgid_plural "%(count)d collections" msgstr[0] "%(count)d collection" msgstr[1] "%(count)d collections" -#: web/base.py:1094 +#: web/base.py:136 web/base.py:244 web/base.py:496 web/base.py:1128 msgid "Access not allowed" msgstr "Accès non autorisé" -#: web/base.py:1096 +#: web/base.py:138 web/base.py:246 web/base.py:498 web/base.py:1130 msgid "" -"Please login or contact the website administator to get admin or private " -"access." +"Please login or contact the website administator to get a private access." msgstr "" "Connectez-vous s'il vous plaît ou bien contactez l'administrateur du site " "pour obtenir un accès privé." + #~ msgid "username" #~ msgstr "nom d'utilisateur" diff --git a/telemeta/urls.py b/telemeta/urls.py index ac181014..f2b9b833 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -248,19 +248,13 @@ urlpatterns = patterns('', # JSON RPC url(r'json/$', jsonrpc_site.dispatch, name='jsonrpc_mountpoint'), # for the graphical browser/web console only, omissible - url(r'json/browse/', 'jsonrpc.views.browse', name="jsonrpc_browser"), - # for HTTP GET only, also omissible - #url(r'^json/(?P[a-zA-Z0-9.]+)$', jsonrpc_site.dispatch), + # url(r'json/browse/', 'jsonrpc.views.browse', name="jsonrpc_browser"), # Playlists url(r'^playlists/(?P[a-zA-Z0-9]+)/(?P[a-zA-Z0-9]+)/csv/$', web_view.playlist_csv_export, name="telemeta-playlist-csv-export"), # RSS feeds url(r'^rss/$', LastestRevisionsFeed(), name="telemeta-rss"), - - # Not allowed - url(r'/*/(?P[A-Za-z0-9._-]+)/not_allowed/$', web_view.not_allowed, name="telemeta-not-allowed"), - ) diff --git a/telemeta/web/base.py b/telemeta/web/base.py index f09d62a1..8bf51032 100644 --- a/telemeta/web/base.py +++ b/telemeta/web/base.py @@ -131,8 +131,14 @@ class WebView(object): def collection_detail(self, request, public_id, template='telemeta/collection_detail.html'): collection = MediaCollection.objects.get(public_id=public_id) + if collection.public_access == 'none' and not (request.user.is_staff or request.user.is_superuser): - return HttpResponseRedirect('not_allowed/') + mess = ugettext('Access not allowed') + title = ugettext('Collection') + ' : ' + public_id + ' : ' + mess + description = ugettext('Please login or contact the website administator to get a private access.') + messages.error(request, title) + return render(request, 'telemeta/messages.html', {'description' : description}) + public_access = self.get_public_access(collection.public_access, collection.recorded_from_year, collection.recorded_to_year) playlists = self.get_playlists(request) @@ -235,7 +241,11 @@ class WebView(object): item_public_access = item.public_access == 'none' or item.collection.public_access == 'none' if item_public_access and not (request.user.is_staff or request.user.is_superuser): - return HttpResponseRedirect('not_allowed/') + mess = ugettext('Access not allowed') + title = ugettext('Item') + ' : ' + public_id + ' : ' + mess + description = ugettext('Please login or contact the website administator to get a private access.') + messages.error(request, title) + return render(request, 'telemeta/messages.html', {'description' : description}) # Get TimeSide processors formats = [] @@ -478,11 +488,16 @@ class WebView(object): """Export a given media item in the specified format (OGG, FLAC, ...)""" item = MediaItem.objects.get(public_id=public_id) - public_access = self.get_public_access(item.public_access, str(item.recorded_from_date).split('-')[0], str(item.recorded_to_date).split('-')[0]) - if (not public_access or not extension in settings.TELEMETA_STREAMING_FORMATS) and not request.user.is_staff: - return HttpResponseRedirect('not_allowed/') + + if (not public_access or not extension in settings.TELEMETA_STREAMING_FORMATS) and \ + not (request.user.is_staff or request.user.is_superuser): + mess = ugettext('Access not allowed') + title = 'Item file : ' + public_id + '.' + extension + ' : ' + mess + description = ugettext('Please login or contact the website administator to get a private access.') + messages.error(request, title) + return render(request, 'telemeta/messages.html', {'description' : description}) for encoder in self.encoders: if encoder.file_extension() == extension: @@ -1089,13 +1104,6 @@ class WebView(object): feed = rss.to_xml(encoding='utf-8') response = HttpResponse(feed, mimetype='application/rss+xml') return response - - def not_allowed(self, request, public_id = None): - mess = ugettext('Access not allowed') - title = public_id + ' : ' + mess - description = ugettext('Please login or contact the website administator to get admin or private access.') - messages.error(request, title) - return render(request, 'telemeta/messages.html', {'description' : description}) @method_decorator(login_required) def profile_detail(self, request, username, template='telemeta/profile_detail.html'): @@ -1117,7 +1125,11 @@ class WebView(object): user = User.objects.get(username=username) if user != request.user and not request.user.is_staff: - return HttpResponseRedirect('/accounts/'+username+'/not_allowed/') + mess = ugettext('Access not allowed') + title = ugettext('User profile') + ' : ' + username + ' : ' + mess + description = ugettext('Please login or contact the website administator to get a private access.') + messages.error(request, title) + return render(request, 'telemeta/messages.html', {'description' : description}) try: profile = user.get_profile()