diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-08-30 20:16:47 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-08-30 20:16:47 -0500 |
commit | 2886b340d33c8f5c9cef933089fc1fce525da6aa (patch) | |
tree | c0f86bbdb41b33bd97e92f19b751dad898daaa62 /mediagoblin/user_pages/views.py | |
parent | 04a7b06d613dd3ab90cde4eb268087e28d92017c (diff) | |
parent | 502073f2bf65380be18b349a678ac075777889a4 (diff) | |
download | mediagoblin-2886b340d33c8f5c9cef933089fc1fce525da6aa.tar.lz mediagoblin-2886b340d33c8f5c9cef933089fc1fce525da6aa.tar.xz mediagoblin-2886b340d33c8f5c9cef933089fc1fce525da6aa.zip |
Merge remote branch 'remotes/jwandborg/f403_ability_to_delete'
Diffstat (limited to 'mediagoblin/user_pages/views.py')
-rw-r--r-- | mediagoblin/user_pages/views.py | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index 2d9bcd21..2163acf7 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -20,11 +20,11 @@ from mediagoblin import messages, mg_globals from mediagoblin.db.util import DESCENDING, ObjectId from mediagoblin.util import ( Pagination, render_to_response, redirect, cleaned_markdown_conversion, - render_404) + render_404, delete_media_files) from mediagoblin.user_pages import forms as user_forms from mediagoblin.decorators import (uses_pagination, get_user_media_entry, - require_active_login) + require_active_login, user_may_delete_media) from werkzeug.contrib.atom import AtomFeed @@ -130,7 +130,7 @@ def media_post_comment(request): comment = request.db.MediaComment() comment['media_entry'] = ObjectId(request.matchdict['media']) comment['author'] = request.user['_id'] - comment['content'] = request.POST['comment_content'] + comment['content'] = unicode(request.POST['comment_content']) comment['content_html'] = cleaned_markdown_conversion(comment['content']) @@ -145,6 +145,36 @@ def media_post_comment(request): user = request.matchdict['user']) +@get_user_media_entry +@require_active_login +@user_may_delete_media +def media_confirm_delete(request, media): + + form = user_forms.ConfirmDeleteForm(request.POST) + + if request.method == 'POST' and form.validate(): + if request.POST.get('confirm') == 'True': + username = media.uploader()['username'] + + # Delete all files on the public storage + delete_media_files(media) + + media.delete() + + return redirect(request, "mediagoblin.user_pages.user_home", + user=username) + else: + return redirect(request, "mediagoblin.user_pages.media_home", + user=media.uploader()['username'], + media=media['slug']) + + return render_to_response( + request, + 'mediagoblin/user_pages/media_confirm_delete.html', + {'media': media, + 'form': form}) + + ATOM_DEFAULT_NR_OF_UPDATED_ITEMS = 15 def atom_feed(request): |