summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Object.pm
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2008-10-03 08:37:16 +0200
committermkanat%bugzilla.org <>2008-10-03 08:37:16 +0200
commitb03fc56082401474044c7f92f8786164ca0508a4 (patch)
tree060d369e1ac921ea158149379a3a2cdadb214f72 /Bugzilla/Object.pm
parentfab5d3a38aadaed1e6153c0fbd820449258586b2 (diff)
downloadbugzilla-b03fc56082401474044c7f92f8786164ca0508a4.tar.gz
bugzilla-b03fc56082401474044c7f92f8786164ca0508a4.tar.xz
Bug 456919: Implement Bugzilla::Field::Choice->remove_from_db and have editvalues.cgi use it
Patch by Max Kanat-Alexander <mkanat@bugzilla.org> r=bbaetz, a=mkanat
Diffstat (limited to 'Bugzilla/Object.pm')
-rw-r--r--Bugzilla/Object.pm15
1 files changed, 15 insertions, 0 deletions
diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm
index cde440b95..532b2c5bc 100644
--- a/Bugzilla/Object.pm
+++ b/Bugzilla/Object.pm
@@ -290,6 +290,15 @@ sub update {
return \%changes;
}
+sub remove_from_db {
+ my $self = shift;
+ my $table = $self->DB_TABLE;
+ my $id_field = $self->ID_FIELD;
+ Bugzilla->dbh->do("DELETE FROM $table WHERE $id_field = ?",
+ undef, $self->id);
+ undef $self;
+}
+
###############################
#### Subroutines ######
###############################
@@ -726,6 +735,12 @@ C<update>.)
=back
+=item C<remove_from_db>
+
+Removes this object from the database. Will throw an error if you can't
+remove it for some reason. The object will then be destroyed, as it is
+not safe to use the object after it has been removed from the database.
+
=back
=head2 Subclass Helpers