diff options
author | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2012-11-15 11:44:50 +0100 |
---|---|---|
committer | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2013-01-17 11:48:07 +0100 |
commit | fdc34b8ba7465b528c7685be3f24c7d7d6d8748b (patch) | |
tree | 71e3d1d1444a1952da070b748aa2f5c49f501668 /mediagoblin/user_pages/views.py | |
parent | cf764377df3c985a3f036f14562f8a8a3ed8735f (diff) | |
download | mediagoblin-fdc34b8ba7465b528c7685be3f24c7d7d6d8748b.tar.lz mediagoblin-fdc34b8ba7465b528c7685be3f24c7d7d6d8748b.tar.xz mediagoblin-fdc34b8ba7465b528c7685be3f24c7d7d6d8748b.zip |
Implement MediaEntry().delete() (#540)
Deleting a MediaEntry instance will automatically
delete all related comments and files/attachments. This moves
implementation logic out of views.py and allows to make use of this
functionality when e.g. deleting a User() account.
Whenever a MediaEntry entry is deleted, this will also sql-delete
the corresponding MediaFile entry.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Diffstat (limited to 'mediagoblin/user_pages/views.py')
-rw-r--r-- | mediagoblin/user_pages/views.py | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index f115c3b8..1af04e7f 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -23,7 +23,6 @@ from mediagoblin.db.models import (MediaEntry, Collection, CollectionItem, from mediagoblin.tools.response import render_to_response, render_404, redirect from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.tools.pagination import Pagination -from mediagoblin.tools.files import delete_media_files from mediagoblin.user_pages import forms as user_forms from mediagoblin.user_pages.lib import send_comment_email @@ -268,21 +267,7 @@ def media_confirm_delete(request, media): if request.method == 'POST' and form.validate(): if form.confirm.data is True: username = media.get_uploader.username - - # Delete all the associated comments - for comment in media.get_comments(): - comment.delete() - - # Delete all files on the public storage - try: - delete_media_files(media) - except OSError, error: - _log.error('No such files from the user "{1}"' - ' to delete: {0}'.format(str(error), username)) - messages.add_message(request, messages.ERROR, - _('Some of the files with this entry seem' - ' to be missing. Deleting anyway.')) - + # Delete MediaEntry and all related files, comments etc. media.delete() messages.add_message( request, messages.SUCCESS, _('You deleted the media.')) |