Commit 8ca5f9dd authored by travis%sedsystems.ca's avatar travis%sedsystems.ca

Bug 218771 : The error message should be more accurate on who can change fields

Patch by Frederic Buclin <LpSolit@gmail.com> r=myk a=myk
parent a2a9bf47
...@@ -439,37 +439,43 @@ sub CheckCanChangeField { ...@@ -439,37 +439,43 @@ sub CheckCanChangeField {
return 1; return 1;
} }
# The reporter is a more complicated case... # At this point, the user is either the reporter or an
if ($reporterid == $whoid) { # unprivileged user. We first check for fields the reporter
# is not allowed to change.
# The reporter may not:
# - reassign bugs, unless the bugs are assigned to him;
# in that case we will have already returned 1 above
# when checking for the owner of the bug.
if ($field eq "assigned_to") {
$PrivilegesRequired = 2;
return 0;
}
# - change the QA contact
if ($field eq "qa_contact") {
$PrivilegesRequired = 2;
return 0;
}
# - change the target milestone
if ($field eq "target_milestone") {
$PrivilegesRequired = 2;
return 0;
}
# - change the priority (unless he could have set it originally)
if ($field eq "priority"
&& !Param('letsubmitterchoosepriority'))
{
$PrivilegesRequired = 2; $PrivilegesRequired = 2;
return 0;
}
# The reporter may not: # The reporter is allowed to change anything else.
# - reassign bugs, unless the bugs are assigned to him; if ($reporterid == $whoid) {
# in that case we will have already returned 1 above
# when checking for the owner of the bug.
if ($field eq "assigned_to") {
return 0;
}
# - change the QA contact
if ($field eq "qa_contact") {
return 0;
}
# - change the target milestone
if ($field eq "target_milestone") {
return 0;
}
# - change the priority (unless he could have set it originally)
if ($field eq "priority"
&& !Param('letsubmitterchoosepriority'))
{
return 0;
}
# Allow the reporter to change anything else.
return 1; return 1;
} }
# If we haven't returned by this point, then the user doesn't have the # If we haven't returned by this point, then the user doesn't
# necessary permissions to change this field. # have the necessary permissions to change this field.
$PrivilegesRequired = 1; $PrivilegesRequired = 1;
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment