diff --git a/mozilla/webtools/bugzilla/Bugzilla/Bug.pm b/mozilla/webtools/bugzilla/Bugzilla/Bug.pm
index 726316808ad..1c8b8b96527 100644
--- a/mozilla/webtools/bugzilla/Bugzilla/Bug.pm
+++ b/mozilla/webtools/bugzilla/Bugzilla/Bug.pm
@@ -1221,10 +1221,9 @@ sub _check_deadline {
my ($invocant, $date) = @_;
# Check time-tracking permissions.
- my $tt_group = Bugzilla->params->{"timetrackinggroup"};
# deadline() returns '' instead of undef if no deadline is set.
my $current = ref $invocant ? ($invocant->deadline || undef) : undef;
- return $current unless $tt_group && Bugzilla->user->in_group($tt_group);
+ return $current unless Bugzilla->user->is_timetracker;
# Validate entered deadline
$date = trim($date);
@@ -1672,8 +1671,7 @@ sub _check_time {
if (ref $invocant && $field ne 'work_time') {
$current = $invocant->$field;
}
- my $tt_group = Bugzilla->params->{"timetrackinggroup"};
- return $current unless $tt_group && Bugzilla->user->in_group($tt_group);
+ return $current unless Bugzilla->user->is_timetracker;
$time = trim($time) || 0;
ValidateTime($time, $field);
@@ -2478,8 +2476,7 @@ sub actual_time {
my ($self) = @_;
return $self->{'actual_time'} if exists $self->{'actual_time'};
- if ( $self->{'error'} ||
- !Bugzilla->user->in_group(Bugzilla->params->{"timetrackinggroup"}) ) {
+ if ( $self->{'error'} || !Bugzilla->user->is_timetracker ) {
$self->{'actual_time'} = undef;
return $self->{'actual_time'};
}
@@ -3125,8 +3122,7 @@ sub GetBugActivity {
|| $fieldname eq 'work_time'
|| $fieldname eq 'deadline')
{
- $activity_visible =
- Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'}) ? 1 : 0;
+ $activity_visible = Bugzilla->user->is_timetracker;
} else {
$activity_visible = 1;
}
@@ -3414,8 +3410,7 @@ sub check_can_change_field {
# Only users in the time-tracking group can change time-tracking fields.
if ( grep($_ eq $field, qw(deadline estimated_time remaining_time)) ) {
- my $tt_group = Bugzilla->params->{timetrackinggroup};
- if (!$tt_group || !$user->in_group($tt_group)) {
+ if (!$user->is_timetracker) {
$$PrivilegesRequired = 3;
return 0;
}
diff --git a/mozilla/webtools/bugzilla/buglist.cgi b/mozilla/webtools/bugzilla/buglist.cgi
index a8103a1e0f9..6b03b123d71 100755
--- a/mozilla/webtools/bugzilla/buglist.cgi
+++ b/mozilla/webtools/bugzilla/buglist.cgi
@@ -667,7 +667,7 @@ if (trim($votes) && !grep($_ eq 'votes', @displaycolumns)) {
# Remove the timetracking columns if they are not a part of the group
# (happens if a user had access to time tracking and it was revoked/disabled)
-if (!Bugzilla->user->in_group(Bugzilla->params->{"timetrackinggroup"})) {
+if (!Bugzilla->user->is_timetracker) {
@displaycolumns = grep($_ ne 'estimated_time', @displaycolumns);
@displaycolumns = grep($_ ne 'remaining_time', @displaycolumns);
@displaycolumns = grep($_ ne 'actual_time', @displaycolumns);
diff --git a/mozilla/webtools/bugzilla/colchange.cgi b/mozilla/webtools/bugzilla/colchange.cgi
index e28bccf0437..6c2fa8090b7 100755
--- a/mozilla/webtools/bugzilla/colchange.cgi
+++ b/mozilla/webtools/bugzilla/colchange.cgi
@@ -77,7 +77,7 @@ if (Bugzilla::Keyword->any_exist) {
if (Bugzilla->has_flags) {
push(@masterlist, "flagtypes.name");
}
-if (Bugzilla->user->in_group(Bugzilla->params->{"timetrackinggroup"})) {
+if (Bugzilla->user->is_timetracker) {
push(@masterlist, ("estimated_time", "remaining_time", "actual_time",
"percentage_complete", "deadline"));
}
diff --git a/mozilla/webtools/bugzilla/config.cgi b/mozilla/webtools/bugzilla/config.cgi
index 2d8c2d92cee..22e1dc78a7f 100755
--- a/mozilla/webtools/bugzilla/config.cgi
+++ b/mozilla/webtools/bugzilla/config.cgi
@@ -93,7 +93,7 @@ $vars->{'closed_status'} = \@closed_status;
# Generate a list of fields that can be queried.
my @fields = @{Bugzilla::Field->match({obsolete => 0})};
# Exclude fields the user cannot query.
-if (!Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'})) {
+if (!Bugzilla->user->is_timetracker) {
@fields = grep { $_->name !~ /^(estimated_time|remaining_time|work_time|percentage_complete|deadline)$/ } @fields;
}
$vars->{'field'} = \@fields;
diff --git a/mozilla/webtools/bugzilla/importxml.pl b/mozilla/webtools/bugzilla/importxml.pl
index f5385d17833..c08f5c8b2da 100755
--- a/mozilla/webtools/bugzilla/importxml.pl
+++ b/mozilla/webtools/bugzilla/importxml.pl
@@ -1198,7 +1198,7 @@ sub process_bug {
$err .= "No attachment ID specified, dropping attachment\n";
next;
}
- if (!$exporter->is_insider) && $att->{'isprivate'}){
+ if (!$exporter->is_insider && $att->{'isprivate'}) {
$err .= "Exporter not in insidergroup and attachment marked private.\n";
$err .= " Marking attachment public\n";
$att->{'isprivate'} = 0;
@@ -1251,7 +1251,7 @@ sub process_bug {
# Insert longdesc and append any errors
my $worktime = $bug_fields{'actual_time'} || 0.0;
- $worktime = 0.0 if (!$exporter->in_group($params->{'timetrackinggroup'}));
+ $worktime = 0.0 if (!$exporter->is_timetracker);
$long_description .= "\n" . $comments;
if ($err) {
$long_description .= "\n$err\n";
diff --git a/mozilla/webtools/bugzilla/process_bug.cgi b/mozilla/webtools/bugzilla/process_bug.cgi
index 504fcacc31d..a4547ad6b84 100755
--- a/mozilla/webtools/bugzilla/process_bug.cgi
+++ b/mozilla/webtools/bugzilla/process_bug.cgi
@@ -552,7 +552,7 @@ foreach my $bug (@bug_objects) {
# status, so we should inform the user about that.
if (!is_open_state($new_status) && $changes->{'remaining_time'}) {
$vars->{'message'} = "remaining_time_zeroed"
- if Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'});
+ if Bugzilla->user->is_timetracker;
}
}
diff --git a/mozilla/webtools/bugzilla/query.cgi b/mozilla/webtools/bugzilla/query.cgi
index fd18bab67a0..ba8979adc3c 100755
--- a/mozilla/webtools/bugzilla/query.cgi
+++ b/mozilla/webtools/bugzilla/query.cgi
@@ -247,7 +247,7 @@ foreach my $val (editable_bug_fields()) {
push @chfields, $val;
}
-if (Bugzilla->user->in_group(Bugzilla->params->{'timetrackinggroup'})) {
+if (Bugzilla->user->is_timetracker) {
push @chfields, "work_time";
} else {
@chfields = grep($_ ne "estimated_time", @chfields);
diff --git a/mozilla/webtools/bugzilla/show_bug.cgi b/mozilla/webtools/bugzilla/show_bug.cgi
index ddb41ffec34..64d2e875fb3 100755
--- a/mozilla/webtools/bugzilla/show_bug.cgi
+++ b/mozilla/webtools/bugzilla/show_bug.cgi
@@ -109,7 +109,7 @@ if ($cgi->param("field")) {
@fieldlist = $cgi->param("field");
}
-unless (Bugzilla->user->in_group(Bugzilla->params->{"timetrackinggroup"})) {
+unless (Bugzilla->user->is_timetracker) {
@fieldlist = grep($_ !~ /(^deadline|_time)$/, @fieldlist);
}
diff --git a/mozilla/webtools/bugzilla/summarize_time.cgi b/mozilla/webtools/bugzilla/summarize_time.cgi
index 35ef5f33f10..6f9580ac29e 100755
--- a/mozilla/webtools/bugzilla/summarize_time.cgi
+++ b/mozilla/webtools/bugzilla/summarize_time.cgi
@@ -259,7 +259,7 @@ my $vars = {};
Bugzilla->switch_to_shadow_db();
-$user->in_group(Bugzilla->params->{"timetrackinggroup"})
+$user->is_timetracker
|| ThrowUserError("auth_failure", {group => "time-tracking",
action => "access",
object => "timetracking_summaries"});
diff --git a/mozilla/webtools/bugzilla/template/en/default/bug/comments.html.tmpl b/mozilla/webtools/bugzilla/template/en/default/bug/comments.html.tmpl
index 41436f9b2af..9a04b71470a 100644
--- a/mozilla/webtools/bugzilla/template/en/default/bug/comments.html.tmpl
+++ b/mozilla/webtools/bugzilla/template/en/default/bug/comments.html.tmpl
@@ -205,7 +205,7 @@
- [% IF user.in_group(Param('timetrackinggroup')) &&
+ [% IF user.is_timetracker &&
(comment.work_time > 0 || comment.work_time < 0) %]
Additional hours worked:
diff --git a/mozilla/webtools/bugzilla/template/en/default/bug/create/create.html.tmpl b/mozilla/webtools/bugzilla/template/en/default/bug/create/create.html.tmpl
index 1d316056368..3572ec37241 100644
--- a/mozilla/webtools/bugzilla/template/en/default/bug/create/create.html.tmpl
+++ b/mozilla/webtools/bugzilla/template/en/default/bug/create/create.html.tmpl
@@ -345,7 +345,7 @@ TUI_hide_default('expert_fields');