Returns: the ID of the new attachment.
-=back
-
=cut
sub insert_attachment_for_bug {
return $attachment;
}
+=pod
+
+=item C<remove_from_db()>
+
+Description: removes an attachment from the DB.
+
+Params: none
+
+Returns: nothing
+
+=back
+
+=cut
+
+sub remove_from_db {
+ my $self = shift;
+ my $dbh = Bugzilla->dbh;
+
+ $dbh->bz_start_transaction();
+ $dbh->do('DELETE FROM flags WHERE attach_id = ?', undef, $self->id);
+ $dbh->do('DELETE FROM attach_data WHERE id = ?', undef, $self->id);
+ $dbh->do('UPDATE attachments SET mimetype = ?, ispatch = ?, isurl = ?, isobsolete = ?
+ WHERE attach_id = ?', undef, ('text/plain', 0, 0, 1, $self->id));
+ $dbh->bz_commit_transaction();
+}
+
1;
$template->process("attachment/delete_reason.txt.tmpl", $vars, \$msg)
|| ThrowTemplateError($template->error());
- $dbh->bz_start_transaction();
- $dbh->do('DELETE FROM attach_data WHERE id = ?', undef, $attachment->id);
- $dbh->do('UPDATE attachments SET mimetype = ?, ispatch = ?, isurl = ?,
- isobsolete = ?
- WHERE attach_id = ?', undef,
- ('text/plain', 0, 0, 1, $attachment->id));
- $dbh->do('DELETE FROM flags WHERE attach_id = ?', undef, $attachment->id);
- $dbh->bz_commit_transaction();
-
# 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.
delete_token($token);