diff options
Diffstat (limited to 'mediagoblin/edit/views.py')
-rw-r--r-- | mediagoblin/edit/views.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 5cbaadb5..09aee48b 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -34,12 +34,21 @@ def edit_media(request, media): if not may_edit_media(request, media): return exc.HTTPForbidden() - form = forms.EditForm(request.POST, + + defaults = dict( title = media['title'], slug = media['slug'], description = media['description'], tags = media_tags_as_string(media['tags'])) + if len(media['attachment_files']): + defaults['attachment_name'] = media['attachment_files'][0]['name'] + + + form = forms.EditForm( + request.POST, + **defaults) + if request.method == 'POST' and form.validate(): # Make sure there isn't already a MediaEntry with such a slug # and userid. @@ -60,6 +69,12 @@ def edit_media(request, media): media['description_html'] = cleaned_markdown_conversion( media['description']) + if 'attachment_name' in request.POST: + media['attachment_files'][0]['name'] = request.POST['attachment_name'] + + if 'attachment_delete' in request.POST and 'y' == request.POST['attachment_delete']: + del media['attachment_files'][0] + media['slug'] = request.POST['slug'] media.save() |