summaryrefslogtreecommitdiffstats
path: root/extensions/TrackingFlags/lib
diff options
context:
space:
mode:
authorDave Lawrence <dlawrence@mozilla.com>2013-09-03 23:57:42 +0200
committerDave Lawrence <dlawrence@mozilla.com>2013-09-03 23:57:42 +0200
commit37aef45426f4b831bbced64783568f8104b42dcb (patch)
tree8d69b3e7c60935de30004c6a0fa7e126721a1875 /extensions/TrackingFlags/lib
parentf988b727cc57bbc8fa9095476b1a27e5f9f9cb17 (diff)
downloadbugzilla-37aef45426f4b831bbced64783568f8104b42dcb.tar.gz
bugzilla-37aef45426f4b831bbced64783568f8104b42dcb.tar.xz
Bug 912232 - Show tracking flag bug counts in tracking flag list as well as on the edit page
Diffstat (limited to 'extensions/TrackingFlags/lib')
-rw-r--r--extensions/TrackingFlags/lib/Admin.pm6
-rw-r--r--extensions/TrackingFlags/lib/Flag.pm13
2 files changed, 9 insertions, 10 deletions
diff --git a/extensions/TrackingFlags/lib/Admin.pm b/extensions/TrackingFlags/lib/Admin.pm
index 3529d30a7..2796a102d 100644
--- a/extensions/TrackingFlags/lib/Admin.pm
+++ b/extensions/TrackingFlags/lib/Admin.pm
@@ -37,7 +37,7 @@ our @EXPORT = qw(
sub admin_list {
my ($vars) = @_;
-
+ $vars->{show_bug_counts} = Bugzilla->input_params->{show_bug_counts};
$vars->{flags} = [ Bugzilla::Extension::TrackingFlags::Flag->get_all() ];
}
@@ -75,7 +75,7 @@ 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->has_bug_values;
+ $vars->{can_delete} = !$flag_obj->bug_count;
if ($vars->{mode} eq 'new') {
$vars->{message} = 'tracking_flag_created';
@@ -93,7 +93,7 @@ sub admin_edit {
$vars->{flag} = $flag;
$vars->{values} = _flag_values_to_json($flag->values);
$vars->{visibility} = _flag_visibility_to_json($flag->visibility);
- $vars->{can_delete} = !$flag->has_bug_values;
+ $vars->{can_delete} = !$flag->bug_count;
} elsif ($vars->{mode} eq 'copy') {
# copy - load the source flag
diff --git a/extensions/TrackingFlags/lib/Flag.pm b/extensions/TrackingFlags/lib/Flag.pm
index f35b661eb..26780a2b1 100644
--- a/extensions/TrackingFlags/lib/Flag.pm
+++ b/extensions/TrackingFlags/lib/Flag.pm
@@ -223,7 +223,7 @@ sub remove_from_db {
}
# Check to see if tracking_flags_bugs table has records
- if ($self->has_bug_values) {
+ if ($self->bug_count) {
ThrowUserError('tracking_flag_has_contents', { flag => $self });
}
@@ -396,15 +396,14 @@ sub bug_flag {
return $self->{'bug_flag'} = Bugzilla::Extension::TrackingFlags::Flag::Bug->new($params);
}
-sub has_bug_values {
+sub bug_count {
my ($self) = @_;
- return $self->{'has_bug_values'} if defined $self->{'has_bug_values'};
+ return $self->{'bug_count'} if defined $self->{'bug_count'};
my $dbh = Bugzilla->dbh;
- return $self->{'has_bug_values'} = scalar $dbh->selectrow_array("
- SELECT 1
+ return $self->{'bug_count'} = scalar $dbh->selectrow_array("
+ SELECT COUNT(bug_id)
FROM tracking_flags_bugs
- WHERE tracking_flag_id = ? " .
- $dbh->sql_limit(1),
+ WHERE tracking_flag_id = ?",
undef, $self->flag_id);
}