diff --git a/avatar/locale/de/LC_MESSAGES/django.po b/avatar/locale/de/LC_MESSAGES/django.po index 0122bbb..51777c4 100644 --- a/avatar/locale/de/LC_MESSAGES/django.po +++ b/avatar/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: 2010-03-16 15:19+0100\n" +"POT-Creation-Date: 2011-03-28 10:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: forms.py:33 +#: forms.py:34 #, python-format msgid "" "%(ext)s is an invalid file extension. Authorized extensions are : %" @@ -26,7 +26,7 @@ msgstr "" "%(ext)s ist ein ungültiges Dateiformat. Erlaubte Formate sind: %" "(valid_exts_list)s" -#: forms.py:37 +#: forms.py:38 #, python-format msgid "" "Your file is too big (%(size)s), the maximum allowed size is %" @@ -34,7 +34,7 @@ msgid "" msgstr "" "Die Datei ist zu groß (%(size)s), die Maximalgröße ist %(max_valid_size)s" -#: forms.py:43 +#: forms.py:44 #, python-format msgid "" "You already have %(nb_avatars)d avatars, and the maximum allowed is %" @@ -43,16 +43,20 @@ msgstr "" "Sie haben bereits %(nb_avatars)d Avatarbilder hochgeladen. Das maximale " "Anzahl ist %(nb_max_avatars)d." -#: models.py:71 +#: forms.py:56 forms.py:67 +msgid "Choices" +msgstr "" + +#: models.py:75 #, python-format msgid "Avatar for %s" msgstr "Avatar für %s" -#: views.py:90 +#: views.py:73 views.py:95 msgid "Successfully uploaded a new avatar." msgstr "Erfolgreich einen neuen Avatar hochgeladen." -#: views.py:128 +#: views.py:132 msgid "Successfully updated your avatar." msgstr "Erfolgreich Ihren Avatar aktualisiert." @@ -60,22 +64,6 @@ msgstr "Erfolgreich Ihren Avatar aktualisiert." msgid "Successfully deleted the requested avatars." msgstr "Erfolgreich den Avatar gelöscht." -#: management/__init__.py:9 -msgid "Avatar Updated" -msgstr "Avatar aktualisiert" - -#: management/__init__.py:9 -msgid "your avatar has been updated" -msgstr "Ihr Avatar wurde aktualisiert" - -#: management/__init__.py:10 -msgid "Friend Updated Avatar" -msgstr "Freund aktualisierte Avatar" - -#: management/__init__.py:10 -msgid "a friend has updated their avatar" -msgstr "Avatar eines Freundes wurde aktualisiert" - #: templates/avatar/add.html:5 templates/avatar/change.html:5 msgid "Your current avatar: " msgstr "Ihr aktueller Avatar: " @@ -110,6 +98,16 @@ msgstr "" msgid "Delete These" msgstr "Auswahl löschen" +#: templates/notification/avatar_friend_updated/full.txt:1 +#, fuzzy, python-format +msgid "" +"%(avatar_creator)s has updated their avatar %(avatar)s.\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" +msgstr "" +"%(avatar_creator)s hat den Avatar aktualisiert " +"%(avatar)s." + #: templates/notification/avatar_friend_updated/notice.html:2 #, python-format msgid "" @@ -119,6 +117,14 @@ msgstr "" "%(avatar_creator)s hat den Avatar aktualisiert " "%(avatar)s." +#: templates/notification/avatar_updated/full.txt:1 +#, python-format +msgid "" +"Your avatar has been updated. %(avatar)s\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" +msgstr "" + #: templates/notification/avatar_updated/notice.html:2 #, python-format msgid "You have updated your avatar %(avatar)s." @@ -126,6 +132,18 @@ msgstr "" "Sie haben Ihren Avatar aktualisiert %(avatar)s." -#: templatetags/avatar_tags.py:40 +#: templatetags/avatar_tags.py:45 msgid "Default Avatar" msgstr "Standard-Avatar" + +#~ msgid "Avatar Updated" +#~ msgstr "Avatar aktualisiert" + +#~ msgid "your avatar has been updated" +#~ msgstr "Ihr Avatar wurde aktualisiert" + +#~ msgid "Friend Updated Avatar" +#~ msgstr "Freund aktualisierte Avatar" + +#~ msgid "a friend has updated their avatar" +#~ msgstr "Avatar eines Freundes wurde aktualisiert" diff --git a/avatar/locale/fr/LC_MESSAGES/django.po b/avatar/locale/fr/LC_MESSAGES/django.po index a117219..726089b 100644 --- a/avatar/locale/fr/LC_MESSAGES/django.po +++ b/avatar/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-26 18:29+0100\n" +"POT-Creation-Date: 2011-03-28 10:59+0200\n" "PO-Revision-Date: 2010-03-26 18:35+0100\n" "Last-Translator: Mathieu Pillard \n" "Language-Team: LANGUAGE \n" @@ -15,31 +15,47 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: forms.py:33 +#: forms.py:34 #, python-format -msgid "%(ext)s is an invalid file extension. Authorized extensions are : %(valid_exts_list)s" -msgstr "%(ext)s n'est pas une extension de fichier valide. Les extensions autorisées sont: %(valid_exts_list)s" +msgid "" +"%(ext)s is an invalid file extension. Authorized extensions are : %" +"(valid_exts_list)s" +msgstr "" +"%(ext)s n'est pas une extension de fichier valide. Les extensions autorisées " +"sont: %(valid_exts_list)s" -#: forms.py:37 +#: forms.py:38 #, python-format -msgid "Your file is too big (%(size)s), the maximum allowed size is %(max_valid_size)s" -msgstr "Le fichier est trop gros (%(size)s), la taille maximum autorisée est %(max_valid_size)s" +msgid "" +"Your file is too big (%(size)s), the maximum allowed size is %" +"(max_valid_size)s" +msgstr "" +"Le fichier est trop gros (%(size)s), la taille maximum autorisée est %" +"(max_valid_size)s" -#: forms.py:43 +#: forms.py:44 #, python-format -msgid "You already have %(nb_avatars)d avatars, and the maximum allowed is %(nb_max_avatars)d." -msgstr "Vous avez déjà %(nb_avatars)d avatars, et le maximum autorisé est %(nb_max_avatars)d." +msgid "" +"You already have %(nb_avatars)d avatars, and the maximum allowed is %" +"(nb_max_avatars)d." +msgstr "" +"Vous avez déjà %(nb_avatars)d avatars, et le maximum autorisé est %" +"(nb_max_avatars)d." -#: models.py:72 +#: forms.py:56 forms.py:67 +msgid "Choices" +msgstr "" + +#: models.py:75 #, python-format msgid "Avatar for %s" msgstr "Avatar pour %s" -#: views.py:90 +#: views.py:73 views.py:95 msgid "Successfully uploaded a new avatar." msgstr "Votre nouveau avatar a été uploadé avec succès." -#: views.py:128 +#: views.py:132 msgid "Successfully updated your avatar." msgstr "Votre avatar a été mis à jour avec succès." @@ -47,34 +63,15 @@ msgstr "Votre avatar a été mis à jour avec succès." msgid "Successfully deleted the requested avatars." msgstr "Les avatars sélectionnés ont été effacés avec succès." -#: management/__init__.py:9 -msgid "Avatar Updated" -msgstr "Avatar mis à jour" - -#: management/__init__.py:9 -msgid "your avatar has been updated" -msgstr "votre avatar a été mis à jour" - -#: management/__init__.py:10 -msgid "Friend Updated Avatar" -msgstr "Avatar mis à jour par un ami" - -#: management/__init__.py:10 -msgid "a friend has updated their avatar" -msgstr "un ami a mis à jour son avatar" - -#: templates/avatar/add.html:5 -#: templates/avatar/change.html:5 +#: templates/avatar/add.html:5 templates/avatar/change.html:5 msgid "Your current avatar: " msgstr "Votre avatar actuel:" -#: templates/avatar/add.html:8 -#: templates/avatar/change.html:8 +#: templates/avatar/add.html:8 templates/avatar/change.html:8 msgid "You haven't uploaded an avatar yet. Please upload one now." msgstr "Vous n'avez pas encore ajouté d'avatar. Veuillez le faire maintenant." -#: templates/avatar/add.html:12 -#: templates/avatar/change.html:19 +#: templates/avatar/add.html:12 templates/avatar/change.html:19 msgid "Upload New Image" msgstr "Ajouter une nouvelle image" @@ -88,24 +85,61 @@ msgstr "Veuillez sélectionner les avatars que vous souhaitez effacer" #: templates/avatar/confirm_delete.html:8 #, python-format -msgid "You have no avatars to delete. Please upload one now." -msgstr "Vous n'avez aucun avatar à effacer. Veuillez en ajouter un maintenant." +msgid "" +"You have no avatars to delete. Please upload one now." +msgstr "" +"Vous n'avez aucun avatar à effacer. Veuillez en ajouter un maintenant." #: templates/avatar/confirm_delete.html:14 msgid "Delete These" msgstr "Effacer" +#: templates/notification/avatar_friend_updated/full.txt:1 +#, fuzzy, python-format +msgid "" +"%(avatar_creator)s has updated their avatar %(avatar)s.\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" +msgstr "" +"%(avatar_creator)s a mis à jour son avatar %(avatar)s." + #: templates/notification/avatar_friend_updated/notice.html:2 #, python-format -msgid "%(avatar_creator)s has updated their avatar %(avatar)s." -msgstr "%(avatar_creator)s a mis à jour son avatar %(avatar)s." +msgid "" +"%(avatar_creator)s has updated their avatar %(avatar)s." +msgstr "" +"%(avatar_creator)s a mis à jour son avatar %(avatar)s." + +#: templates/notification/avatar_updated/full.txt:1 +#, python-format +msgid "" +"Your avatar has been updated. %(avatar)s\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" +msgstr "" #: templates/notification/avatar_updated/notice.html:2 #, python-format msgid "You have updated your avatar %(avatar)s." msgstr "Vous avez mis à jour votre %(avatar)s." -#: templatetags/avatar_tags.py:40 +#: templatetags/avatar_tags.py:45 msgid "Default Avatar" msgstr "Avatar par défaut" +#~ msgid "Avatar Updated" +#~ msgstr "Avatar mis à jour" + +#~ msgid "your avatar has been updated" +#~ msgstr "votre avatar a été mis à jour" + +#~ msgid "Friend Updated Avatar" +#~ msgstr "Avatar mis à jour par un ami" + +#~ msgid "a friend has updated their avatar" +#~ msgstr "un ami a mis à jour son avatar" diff --git a/avatar/locale/pt_BR/LC_MESSAGES/django.po b/avatar/locale/pt_BR/LC_MESSAGES/django.po index 21271ec..690605b 100644 --- a/avatar/locale/pt_BR/LC_MESSAGES/django.po +++ b/avatar/locale/pt_BR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-08-09 04:13-0300\n" +"POT-Creation-Date: 2011-03-28 10:59+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,53 +16,131 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: models.py:32 +#: forms.py:34 +#, python-format +msgid "" +"%(ext)s is an invalid file extension. Authorized extensions are : %" +"(valid_exts_list)s" +msgstr "" + +#: forms.py:38 +#, python-format +msgid "" +"Your file is too big (%(size)s), the maximum allowed size is %" +"(max_valid_size)s" +msgstr "" + +#: forms.py:44 +#, python-format +msgid "" +"You already have %(nb_avatars)d avatars, and the maximum allowed is %" +"(nb_max_avatars)d." +msgstr "" + +#: forms.py:56 forms.py:67 +msgid "Choices" +msgstr "" + +#: models.py:75 #, python-format msgid "Avatar for %s" msgstr "Avatar para %s" -#: views.py:68 +#: views.py:73 views.py:95 msgid "Successfully uploaded a new avatar." msgstr "Nova foto de perfil enviada com sucesso." -#: views.py:76 +#: views.py:132 msgid "Successfully updated your avatar." msgstr "Sua foto de perfil foi atualizada com sucesso." -#: views.py:114 +#: views.py:166 msgid "Successfully deleted the requested avatars." msgstr "As fotos de perfil selecionadas foram excluídas com sucesso." -#: management/__init__.py:9 -msgid "Avatar Updated" -msgstr "Foto de Perfil Atualizada" +#: templates/avatar/add.html:5 templates/avatar/change.html:5 +msgid "Your current avatar: " +msgstr "" -#: management/__init__.py:9 -msgid "avatar have been updated" -msgstr "foto de perfil foi atualizada" +#: templates/avatar/add.html:8 templates/avatar/change.html:8 +msgid "You haven't uploaded an avatar yet. Please upload one now." +msgstr "" -#: management/__init__.py:10 -msgid "Friend Updated Avatar" -msgstr "Amigo Atualizou Foto de Perfil" +#: templates/avatar/add.html:12 templates/avatar/change.html:19 +msgid "Upload New Image" +msgstr "" -#: management/__init__.py:10 -msgid "a friend has updated his avatar" -msgstr "um amigo atualizou a foto de perfil" +#: templates/avatar/change.html:14 +msgid "Choose new Default" +msgstr "" -#: templates/notifications/avatar_friend_updated/notice.html:2 +#: templates/avatar/confirm_delete.html:5 +msgid "Please select the avatars that you would like to delete." +msgstr "" + +#: templates/avatar/confirm_delete.html:8 #, python-format msgid "" -"%(avatar_creator)s has updated his avatar upload one now." +msgstr "" + +#: templates/avatar/confirm_delete.html:14 +msgid "Delete These" +msgstr "" + +#: templates/notification/avatar_friend_updated/full.txt:1 +#, fuzzy, python-format +msgid "" +"%(avatar_creator)s has updated their avatar %(avatar)s.\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" +msgstr "" +"%(avatar_creator)s atualizou a foto de perfil " +"%(avatar)s." + +#: templates/notification/avatar_friend_updated/notice.html:2 +#, fuzzy, python-format +msgid "" +"%(avatar_creator)s has updated their avatar %(avatar)s." msgstr "" -"%(avatar_creator)s atualizou a foto de perfil %(avatar)s." +"%(avatar_creator)s atualizou a foto de perfil " +"%(avatar)s." -#: templates/notifications/avatar_updated/notice.html:2 +#: templates/notification/avatar_updated/full.txt:1 #, python-format -msgid "A new tribe %(avatar)s has been created." -msgstr "Uma nova foto de perfil %(avatar)s foi criada." +msgid "" +"Your avatar has been updated. %(avatar)s\n" +"\n" +"http://%(current_site)s%(avatar_url)s\n" +msgstr "" -#: templatetags/avatar_tags.py:47 +#: templates/notification/avatar_updated/notice.html:2 +#, fuzzy, python-format +msgid "You have updated your avatar %(avatar)s." +msgstr "" +"%(avatar_creator)s atualizou a foto de perfil " +"%(avatar)s." + +#: templatetags/avatar_tags.py:45 msgid "Default Avatar" msgstr "Foto de Perfil Padrão" + +#~ msgid "Avatar Updated" +#~ msgstr "Foto de Perfil Atualizada" + +#~ msgid "avatar have been updated" +#~ msgstr "foto de perfil foi atualizada" + +#~ msgid "Friend Updated Avatar" +#~ msgstr "Amigo Atualizou Foto de Perfil" + +#~ msgid "a friend has updated his avatar" +#~ msgstr "um amigo atualizou a foto de perfil" + +#~ msgid "" +#~ "A new tribe %(avatar)s has been created." +#~ msgstr "" +#~ "Uma nova foto de perfil %(avatar)s foi " +#~ "criada." diff --git a/avatar/templates/avatar/avatar.html b/avatar/templates/avatar/avatar.html new file mode 100644 index 0000000..6346d96 --- /dev/null +++ b/avatar/templates/avatar/avatar.html @@ -0,0 +1,10 @@ + + + + + <!-- Insert your title here --> + + + + + diff --git a/avatar/templates/avatar/gallery.html b/avatar/templates/avatar/gallery.html new file mode 100644 index 0000000..6346d96 --- /dev/null +++ b/avatar/templates/avatar/gallery.html @@ -0,0 +1,10 @@ + + + + + <!-- Insert your title here --> + + + + + diff --git a/avatar/urls.py b/avatar/urls.py index 4d6aea8..db51420 100644 --- a/avatar/urls.py +++ b/avatar/urls.py @@ -5,5 +5,8 @@ urlpatterns = patterns('avatar.views', url('^webcam-upload/(?P\d+)', 'webcam_upload', name='avatar-webcam-upload'), url('^change/$', 'change', name='avatar_change'), url('^delete/$', 'delete', name='avatar_delete'), - url('^render_primary/(?P[\+\w]+)/(?P[\d]+)/$', 'render_primary', name='avatar_render_primary'), + url('^render_primary/(?P[\+\w]+)/(?P[\d]+)/$', 'render_primary', name='avatar_render_primary'), + + url('^list/(?P[\+\w]+)/$', 'avatar_gallery', name='avatar_gallery'), + url('^list/(?P[\+\w]+)/(?P[\d]+)/$', 'avatar', name='avatar'), ) diff --git a/avatar/views.py b/avatar/views.py index 84b93eb..7e4be74 100644 --- a/avatar/views.py +++ b/avatar/views.py @@ -1,4 +1,4 @@ -from django.http import HttpResponseRedirect, HttpResponse +from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.shortcuts import render_to_response from django.template import RequestContext from django.utils.translation import ugettext as _ @@ -177,6 +177,58 @@ def delete(request, extra_context=None, next_override=None, *args, **kwargs): ) ) + +def avatar_gallery(request, username, template_name="avatar/gallery.html"): + user = get_object_or_404(User, username=username) + return render_to_response(template_name, { + "other_user": user, + "avatars": user.avatar_set.all(), + }, context_instance=RequestContext(request)) + + +def avatar(request, username, id, template_name="avatar/avatar.html"): + user = get_object_or_404(User, username=username) + avatars = user.avatar_set.order_by("-date_uploaded") + index = None + avatar = None + if avatars: + avatar = avatars.get(pk=id) + if not avatar: + return Http404 + + index = avatars.filter(date_uploaded__gt=avatar.date_uploaded).count() + count = avatars.count() + + if index==0: + prev = avatars.reverse()[0] + if count <= 1: + next = avatars[0] + else: + next = avatars[1] + else: + prev = avatars[index-1] + + if (index+1)>=count: + next = avatars[0] + prev_index = index-1 + if prev_index < 0: + prev_index = 0 + prev = avatars[prev_index] + else: + next = avatars[index+1] + + + return render_to_response(template_name, { + "other_user": user, + "avatar": avatar, + "index": index+1, + "avatars": avatars, + "next": next, + "prev": prev, + "count": count, + }, context_instance=RequestContext(request)) + + def render_primary(request, extra_context={}, user=None, size=AVATAR_DEFAULT_SIZE, *args, **kwargs): size = int(size) avatar = get_primary_avatar(user, size=size)