summaryrefslogtreecommitdiffstats
path: root/extensions/TrackingFlags/lib
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/TrackingFlags/lib')
-rw-r--r--extensions/TrackingFlags/lib/Admin.pm1
-rw-r--r--extensions/TrackingFlags/lib/Flag.pm19
2 files changed, 12 insertions, 8 deletions
diff --git a/extensions/TrackingFlags/lib/Admin.pm b/extensions/TrackingFlags/lib/Admin.pm
index 2796a102d..719b4f248 100644
--- a/extensions/TrackingFlags/lib/Admin.pm
+++ b/extensions/TrackingFlags/lib/Admin.pm
@@ -75,7 +75,6 @@ sub admin_edit {
$vars->{flag} = $flag_obj;
$vars->{values} = _flag_values_to_json($values);
$vars->{visibility} = _flag_visibility_to_json($visibilities);
- $vars->{can_delete} = !$flag_obj->bug_count;
if ($vars->{mode} eq 'new') {
$vars->{message} = 'tracking_flag_created';
diff --git a/extensions/TrackingFlags/lib/Flag.pm b/extensions/TrackingFlags/lib/Flag.pm
index 26780a2b1..29f81669d 100644
--- a/extensions/TrackingFlags/lib/Flag.pm
+++ b/extensions/TrackingFlags/lib/Flag.pm
@@ -215,13 +215,6 @@ sub remove_from_db {
my $self = shift;
my $dbh = Bugzilla->dbh;
- # Check to see if bug activity table has records
- my $has_activity = $dbh->selectrow_array("SELECT COUNT(*) FROM bugs_activity
- WHERE fieldid = ?", undef, $self->id);
- if ($has_activity) {
- ThrowUserError('tracking_flag_has_activity', { flag => $self });
- }
-
# Check to see if tracking_flags_bugs table has records
if ($self->bug_count) {
ThrowUserError('tracking_flag_has_contents', { flag => $self });
@@ -234,6 +227,7 @@ sub remove_from_db {
eval {
$dbh->bz_start_transaction();
+ $dbh->do('DELETE FROM bugs_activity WHERE fieldid = ?', undef, $self->id);
$dbh->do('DELETE FROM fielddefs WHERE name = ?', undef, $self->name);
$dbh->bz_commit_transaction();
@@ -407,6 +401,17 @@ sub bug_count {
undef, $self->flag_id);
}
+sub activity_count {
+ my ($self) = @_;
+ return $self->{'activity_count'} if defined $self->{'activity_count'};
+ my $dbh = Bugzilla->dbh;
+ return $self->{'activity_count'} = scalar $dbh->selectrow_array("
+ SELECT COUNT(bug_id)
+ FROM bugs_activity
+ WHERE fieldid = ?",
+ undef, $self->id);
+}
+
######################################
# Compatibility with Bugzilla::Field #
######################################