Merge remote branch 'remotes/gullydwarf-cfdv/b388+b391_edit_profile_link_on_user_page'

This commit is contained in:
Christopher Allan Webber 2011-07-03 08:31:35 -05:00
commit 8c9b1b2c14
5 changed files with 23 additions and 6 deletions

View File

@ -74,7 +74,18 @@ def edit_media(request, media):
@require_active_login
def edit_profile(request):
user = request.user
# admins may edit any user profile given a username in the querystring
edit_username = request.GET.get('username')
if request.user['is_admin'] and request.user['username'] != edit_username:
user = request.db.User.find_one({'username': edit_username})
# No need to warn again if admin just submitted an edited profile
if request.method != 'POST':
messages.add_message(
request, messages.WARNING,
'You are editing a user\'s profile. Proceed with caution.')
else:
user = request.user
form = forms.EditProfileForm(request.POST,
url = user.get('url'),
bio = user.get('bio'))
@ -87,7 +98,9 @@ def edit_profile(request):
messages.add_message(request,
messages.SUCCESS,
'Profile edited!')
return redirect(request, "mediagoblin.edit.profile")
return redirect(request,
"mediagoblin.edit.profile",
username=edit_username)
return render_to_response(
request,

View File

@ -21,8 +21,8 @@
{% block mediagoblin_content %}
<form action="{{ request.urlgen('mediagoblin.edit.profile',
user=user.username) }}"
<form action="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{
user['username'] }}"
method="POST" enctype="multipart/form-data">
<div class="grid_6 prefix_1 suffix_1 edit_box form_box">
<h1>Editing {{ user['username'] }}'s profile</h1>

View File

@ -23,7 +23,6 @@
{% if request.user %}
<p>
<a href="{{ request.urlgen('mediagoblin.submit.start') }}">Submit an item</a>
<a href="{{ request.urlgen('mediagoblin.edit.profile') }}">Edit profile</a>
</p>
{% else %}
<p>

View File

@ -95,7 +95,8 @@
{% include "mediagoblin/utils/prev_next.html" %}
<h3>Sidebar content here!</h3>
<p>
{% if media['uploader'] == request.user['_id'] %}
{% if media['uploader'] == request.user['_id'] or
request.user['is_admin'] %}
<p>
<a href="{{ request.urlgen('mediagoblin.edit.edit_media',
user= media.uploader().username,

View File

@ -27,6 +27,10 @@
{% block mediagoblin_content -%}
{% if user %}
<h1>{{ user.username }}'s profile</h1>
{% if request.user == user.username or request.user['is_admin'] %}
<a href="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{
user.username }}"> Edit</a>
{% endif %}
{% include "mediagoblin/utils/profile.html" %}