aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/edit
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2011-07-03 08:31:35 -0500
committerChristopher Allan Webber <cwebber@dustycloud.org>2011-07-03 08:31:35 -0500
commit8c9b1b2c14f68e559efb6f655e5d6ce082342f16 (patch)
treef19b0df06667d15afbad7936add61f56a71ef319 /mediagoblin/edit
parent5949be9ad686b161b6c63696d9b0f5f1cff932d9 (diff)
parenta0cf14fe7cbfe013a9973ad72a7bbd662656c9c9 (diff)
downloadmediagoblin-8c9b1b2c14f68e559efb6f655e5d6ce082342f16.tar.lz
mediagoblin-8c9b1b2c14f68e559efb6f655e5d6ce082342f16.tar.xz
mediagoblin-8c9b1b2c14f68e559efb6f655e5d6ce082342f16.zip
Merge remote branch 'remotes/gullydwarf-cfdv/b388+b391_edit_profile_link_on_user_page'
Diffstat (limited to 'mediagoblin/edit')
-rw-r--r--mediagoblin/edit/views.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py
index 5a7aa4bd..64fa0eab 100644
--- a/mediagoblin/edit/views.py
+++ b/mediagoblin/edit/views.py
@@ -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,