|| ($self->{'qa_contact'} && $::userid == $self->{'qa_contact'}{'id'})
|| $::userid == $self->{'assigned_to'}{'id'}
|| &::UserInGroup("editbugs");
- $self->{'user'}->{'canconfirm'} = ($::userid == 0)
- || &::UserInGroup("canconfirm")
- || &::UserInGroup("editbugs");
+ $self->{'user'}->{'canconfirm'} = $::userid == 0
+ || ($self->{'qa_contact'} && $::userid == $self->{'qa_contact'}{'id'})
+ || $::userid == $self->{'assigned_to'}{'id'}
+ || &::UserInGroup("editbugs")
+ || &::UserInGroup("canconfirm");
return $self->{'user'};
}
|| ($self->{'qa_contact'} && $::userid == $self->{'qa_contact'}{'id'})
|| $::userid == $self->{'assigned_to'}{'id'}
|| &::UserInGroup("editbugs");
- $self->{'user'}->{'canconfirm'} = ($::userid == 0)
- || &::UserInGroup("canconfirm")
- || &::UserInGroup("editbugs");
+ $self->{'user'}->{'canconfirm'} = $::userid == 0
+ || ($self->{'qa_contact'} && $::userid == $self->{'qa_contact'}{'id'})
+ || $::userid == $self->{'assigned_to'}{'id'}
+ || &::UserInGroup("editbugs")
+ || &::UserInGroup("canconfirm");
return $self->{'user'};
}
################################################################################
# CheckCanChangeField() defines what users are allowed to change what bugs. You
# can add code here for site-specific policy changes, according to the
-# instructions given in the Bugzilla Guide and below.
+# instructions given in the Bugzilla Guide and below. Note that you may also
+# have to update the Bug::user() function to give people access to the options
+# that they are permitted to change.
#
# CheckCanChangeField() should return true if the user is allowed to change this
# field, and false if they are not.
}
sub DoConfirm {
- if ($UserInEditGroupSet < 0) {
- $UserInEditGroupSet = UserInGroup("editbugs");
- }
- if ($UserInCanConfirmGroupSet < 0) {
- $UserInCanConfirmGroupSet = UserInGroup("canconfirm");
- }
- if ($UserInEditGroupSet || $UserInCanConfirmGroupSet) {
+ if (CheckCanChangeField("canconfirm", $::FORM{'id'}, 0, 1)) {
DoComma();
$::query .= "everconfirmed = 1";
}