diff options
-rw-r--r-- | mediagoblin/edit/views.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 17aea922..a296a184 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -1,4 +1,4 @@ -# GNU MediaGoblin -- federated, autonomous media hosting + # Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. # # This program is free software: you can redistribute it and/or modify @@ -70,7 +70,7 @@ def edit_media(request, media): license=media.license) form = forms.EditForm( - request.form, + request.method=='POST' and request.form or None, **defaults) if request.method == 'POST' and form.validate(): @@ -219,7 +219,8 @@ def edit_profile(request, url_user=None): else: location = user.get_location.name - form = forms.EditProfileForm(request.form, + form = forms.EditProfileForm( + request.method == 'POST' and request.form or None, url=user.url, bio=user.bio, location=location) @@ -235,6 +236,8 @@ def edit_profile(request, url_user=None): location = user.get_location location.name = six.text_type(form.location.data) location.save() + else: + user.location = None user.save() @@ -260,7 +263,8 @@ EMAIL_VERIFICATION_TEMPLATE = ( @require_active_login def edit_account(request): user = request.user - form = forms.EditAccountForm(request.form, + form = forms.EditAccountForm( + request.method == 'POST' and request.form or None, wants_comment_notification=user.wants_comment_notification, license_preference=user.license_preference, wants_notifications=user.wants_notifications) @@ -358,7 +362,7 @@ def edit_collection(request, collection): description=collection.description) form = forms.EditCollectionForm( - request.form, + request.method == 'POST' and request.form or None, **defaults) if request.method == 'POST' and form.validate(): @@ -454,7 +458,8 @@ def verify_email(request): @require_active_login def change_email(request): """ View to change the user's email """ - form = forms.ChangeEmailForm(request.form) + form = forms.ChangeEmailForm( + request.method == 'POST' and request.form or None) user = request.user # If no password authentication, no need to enter a password @@ -511,7 +516,8 @@ def edit_metadata(request, media): if not media.state == u'processed': return render_404(request) - form = forms.EditMetaDataForm(request.form) + form = forms.EditMetaDataForm( + request.method == 'POST' and request.form or None) if request.method == "POST" and form.validate(): metadata_dict = dict([(row['identifier'],row['value']) for row in form.media_metadata.data]) |