From 20c467b0a8f9561e85f066a93d942b6c0e36a003 Mon Sep 17 00:00:00 2001 From: zhengxie Date: Tue, 27 Nov 2012 21:02:02 +0800 Subject: [PATCH] Changed user avatar upload --- avatar/views.py | 30 ++++++++----- profile/templates/profile/set_profile.html | 43 ++++++++++++++++++- .../snippets/file_upload_progress_js.html | 19 ++++---- 3 files changed, 70 insertions(+), 22 deletions(-) diff --git a/avatar/views.py b/avatar/views.py index d28aa48442..33aa681955 100644 --- a/avatar/views.py +++ b/avatar/views.py @@ -78,17 +78,25 @@ def add(request, extra_context=None, next_override=None, messages.success(request, _("Successfully uploaded a new avatar.")) avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) return HttpResponseRedirect(next_override or _get_next(request)) - return render_to_response( - 'avatar/add.html', - extra_context, - context_instance = RequestContext( - request, - { 'avatar': avatar, - 'avatars': avatars, - 'upload_avatar_form': upload_avatar_form, - 'next': next_override or _get_next(request), } - ) - ) + else: + messages.error(request, upload_avatar_form.errors['avatar']) + + return HttpResponseRedirect(_get_next(request)) + else: + # Only allow post request to change avatar. + raise Http404 + + # return render_to_response( + # 'avatar/add.html', + # extra_context, + # context_instance = RequestContext( + # request, + # { 'avatar': avatar, + # 'avatars': avatars, + # 'upload_avatar_form': upload_avatar_form, + # 'next': next_override or _get_next(request), } + # ) + # ) @login_required def group_add(request, gid): diff --git a/profile/templates/profile/set_profile.html b/profile/templates/profile/set_profile.html index 8e11bb0369..9aece3dfc0 100644 --- a/profile/templates/profile/set_profile.html +++ b/profile/templates/profile/set_profile.html @@ -4,9 +4,16 @@ {% block right_panel %}

{% trans "Profile Setting" %}

+ + {% avatar request.user.username 60 %} +
+ + {% trans "Change picture" %} + + +
+
- {% avatar request.user.username 60 %} - {% trans "Update" %}
{% trans "Update" %}
{% for error in form.nickname.errors %} @@ -22,3 +29,35 @@
{% endblock %} + +{% block extra_script %} + +{% endblock %} diff --git a/templates/snippets/file_upload_progress_js.html b/templates/snippets/file_upload_progress_js.html index ae598280fe..6d796ac4a6 100644 --- a/templates/snippets/file_upload_progress_js.html +++ b/templates/snippets/file_upload_progress_js.html @@ -52,16 +52,17 @@ $('#upload-file-form .submit').click(function () { return false; } - var total = 0; - $.each($('#upload-file-form input[type=file]'), function() { - if($(this).val()) { - total += this.files[0].size; + if (this.files) { + var total = 0; + $.each($('#upload-file-form input[type=file]'), function() { + if($(this).val()) { + total += this.files[0].size; + } + }); + if (total > {{ max_upload_file_size }}) { + $('#upload-file-form .error').html('{% trans "File size surpasses the limit." %}').removeClass('hide'); + return false; } - }); - - if (total > {{ max_upload_file_size }}) { - $('#upload-file-form .error').html('{% trans "File size surpasses the limit." %}').removeClass('hide'); - return false; } $('#upload-file-form .error').addClass('hide');