summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorc1541@hotmail.com <>2011-12-08 00:12:27 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2011-12-08 00:12:27 +0100
commit4badf488d539d7e50c7a156ecc65514796e6345a (patch)
tree3a4b5c0007a9bc46ca1e1489033d784afa750dc6
parent65b467bd089fd3d2b2bc5343093f0e73a98e580e (diff)
downloadbugzilla-4badf488d539d7e50c7a156ecc65514796e6345a.tar.gz
bugzilla-4badf488d539d7e50c7a156ecc65514796e6345a.tar.xz
Bug 684225: The removal of locally stored attachments should be done from Bugzilla::Attachment->remove_from_db
r/a=LpSolit
-rw-r--r--Bugzilla/Attachment.pm5
-rwxr-xr-xattachment.cgi4
2 files changed, 5 insertions, 4 deletions
diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm
index 3a8e7d5d5..6c39818f6 100644
--- a/Bugzilla/Attachment.pm
+++ b/Bugzilla/Attachment.pm
@@ -900,6 +900,11 @@ sub remove_from_db {
$dbh->do('UPDATE attachments SET mimetype = ?, ispatch = ?, isobsolete = ?
WHERE attach_id = ?', undef, ('text/plain', 0, 1, $self->id));
$dbh->bz_commit_transaction();
+
+ my $filename = $self->_get_local_filename;
+ if (-e $filename) {
+ unlink $filename or warn "Couldn't unlink $filename: $!";
+ }
}
###############################
diff --git a/attachment.cgi b/attachment.cgi
index 35afc227e..504ade424 100755
--- a/attachment.cgi
+++ b/attachment.cgi
@@ -795,10 +795,6 @@ sub delete_attachment {
# Paste the reason provided by the admin into a comment.
$bug->add_comment($msg);
- # If the attachment is stored locally, remove it.
- if (-e $attachment->_get_local_filename) {
- unlink $attachment->_get_local_filename;
- }
$attachment->remove_from_db();
# Now delete the token.