diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-07-03 08:31:35 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-07-03 08:31:35 -0500 |
commit | 8c9b1b2c14f68e559efb6f655e5d6ce082342f16 (patch) | |
tree | f19b0df06667d15afbad7936add61f56a71ef319 /mediagoblin/edit | |
parent | 5949be9ad686b161b6c63696d9b0f5f1cff932d9 (diff) | |
parent | a0cf14fe7cbfe013a9973ad72a7bbd662656c9c9 (diff) | |
download | mediagoblin-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.py | 17 |
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, |