mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-10 03:11:07 +00:00
Changed user avatar upload
This commit is contained in:
@@ -78,17 +78,25 @@ def add(request, extra_context=None, next_override=None,
|
|||||||
messages.success(request, _("Successfully uploaded a new avatar."))
|
messages.success(request, _("Successfully uploaded a new avatar."))
|
||||||
avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar)
|
avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar)
|
||||||
return HttpResponseRedirect(next_override or _get_next(request))
|
return HttpResponseRedirect(next_override or _get_next(request))
|
||||||
return render_to_response(
|
else:
|
||||||
'avatar/add.html',
|
messages.error(request, upload_avatar_form.errors['avatar'])
|
||||||
extra_context,
|
|
||||||
context_instance = RequestContext(
|
return HttpResponseRedirect(_get_next(request))
|
||||||
request,
|
else:
|
||||||
{ 'avatar': avatar,
|
# Only allow post request to change avatar.
|
||||||
'avatars': avatars,
|
raise Http404
|
||||||
'upload_avatar_form': upload_avatar_form,
|
|
||||||
'next': 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), }
|
||||||
|
# )
|
||||||
|
# )
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def group_add(request, gid):
|
def group_add(request, gid):
|
||||||
|
@@ -4,9 +4,16 @@
|
|||||||
{% block right_panel %}
|
{% block right_panel %}
|
||||||
<div id="user-basic-info">
|
<div id="user-basic-info">
|
||||||
<h2>{% trans "Profile Setting" %}</h2>
|
<h2>{% trans "Profile Setting" %}</h2>
|
||||||
|
|
||||||
|
<label>{% trans "Avatar:" %}</label>{% avatar request.user.username 60 %}
|
||||||
|
<form id="id_avatar_form" enctype="multipart/form-data" method="POST" action="{% url avatar_add %}" style="display:inline-block;">
|
||||||
|
<span class="fileinput-button">
|
||||||
|
<a href="#">{% trans "Change picture" %}</a>
|
||||||
|
<input type="file" name="avatar" id="id_avatar" />
|
||||||
|
</span>
|
||||||
|
</form>
|
||||||
|
|
||||||
<form action="" method="post">
|
<form action="" method="post">
|
||||||
<label>{% trans "Avatar:" %}</label>{% avatar request.user.username 60 %}
|
|
||||||
<a href="{{ SITE_ROOT }}avatar/add/">{% trans "Update" %}</a><br />
|
|
||||||
<label>{% trans "Password:" %}</label><a href="{{ SITE_ROOT }}accounts/password/change/">{% trans "Update" %}</a><br/>
|
<label>{% trans "Password:" %}</label><a href="{{ SITE_ROOT }}accounts/password/change/">{% trans "Update" %}</a><br/>
|
||||||
<label>{% trans "Nickname:" %}</label><input type="text" name="nickname" value="{{ form.data.nickname }}" class="text-input" />
|
<label>{% trans "Nickname:" %}</label><input type="text" name="nickname" value="{{ form.data.nickname }}" class="text-input" />
|
||||||
{% for error in form.nickname.errors %}
|
{% for error in form.nickname.errors %}
|
||||||
@@ -22,3 +29,35 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block extra_script %}
|
||||||
|
<script type="text/javascript">
|
||||||
|
$('#id_avatar').change(function() {
|
||||||
|
// check file extension
|
||||||
|
var file = $(this).val();
|
||||||
|
var extension = file.substr((file.lastIndexOf('.') +1));
|
||||||
|
var allowed_ext = ['jpg', 'png', 'jpeg', 'gif'];
|
||||||
|
var allow = false;
|
||||||
|
for (e in allowed_ext) {
|
||||||
|
if (extension == allowed_ext[e]) {
|
||||||
|
allow = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!allow) {
|
||||||
|
var err_msg = extension + ' is an invalid file extension. Authorized extensions are : ' + allowed_ext;
|
||||||
|
feedback(err_msg, 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check file size is less than 1MB
|
||||||
|
if (this.files && this.files[0].size > 1024*1024) {
|
||||||
|
feedback('Your file is too big, the maximum allowed size is 1MB', 'error');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#id_avatar_form').submit();
|
||||||
|
return false;
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
||||||
|
@@ -52,16 +52,17 @@ $('#upload-file-form .submit').click(function () {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var total = 0;
|
if (this.files) {
|
||||||
$.each($('#upload-file-form input[type=file]'), function() {
|
var total = 0;
|
||||||
if($(this).val()) {
|
$.each($('#upload-file-form input[type=file]'), function() {
|
||||||
total += this.files[0].size;
|
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');
|
$('#upload-file-form .error').addClass('hide');
|
||||||
|
Reference in New Issue
Block a user