mirror of
https://we.phorge.it/source/phorge.git
synced 2025-03-28 12:08:14 +01:00
Fix scope of "Accept" when you don't check all the "Force Accept" boxes
Summary: Ref T12272. I wrote this correctly, then broke it by adding the simplification which treats "accept the defaults" as "accept everything". This simplification lets us render "epriestley accepted this revision." instead of "epriestley accepted this revision onbehalf of: long, list, of, every, default, reviewer, they, have, authority, over." so it's a good thing, but make it only affect the reviewers it's supposed to affect. Test Plan: - Did an accept with a force-accept available but unchecked. - Before patch: incorrectly accepted all possible reviewers. - After patch: accepted only checked reviewers. - Also checked the force-accept box, accepted, got a proper force-accept. Reviewers: chad, lvital Reviewed By: lvital Maniphest Tasks: T12272 Differential Revision: https://secure.phabricator.com/D17634
This commit is contained in:
parent
cefbdbcffe
commit
f1eeaaf59f
1 changed files with 13 additions and 2 deletions
|
@ -183,8 +183,19 @@ abstract class DifferentialRevisionReviewTransaction
|
|||
// In all cases, you affect yourself.
|
||||
$map[$viewer->getPHID()] = $status;
|
||||
|
||||
// If the user has submitted a specific list of reviewers to act as (by
|
||||
// unchecking some checkboxes under "Accept"), only affect those reviewers.
|
||||
// If we're applying an "accept the defaults" transaction, and this
|
||||
// transaction type uses checkboxes, replace the value with the list of
|
||||
// defaults.
|
||||
if (!is_array($value)) {
|
||||
list($options, $default) = $this->getActionOptions($viewer, $revision);
|
||||
if ($options) {
|
||||
$value = $default;
|
||||
}
|
||||
}
|
||||
|
||||
// If we have a specific list of reviewers to act on, usually because the
|
||||
// user has submitted a specific list of reviewers to act as by
|
||||
// unchecking some checkboxes under "Accept", only affect those reviewers.
|
||||
if (is_array($value)) {
|
||||
$map = array_select_keys($map, $value);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue