@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Rename "getReviewerStatus()" to "getReviewers()"

Summary:
Ref T10967. Improves some method names:

- `Revision->getReviewerStatus()` -> `Revision->getReviewers()`
- `Revision->attachReviewerStatus()` -> `Revision->attachReviewers()`
- `Reviewer->getStatus()` -> `Reviewer->getReviewerStatus()` (this is mostly to make this more greppable)

Test Plan:
- bunch o' `grep`
- Browsed around.
- If I missed anything, it should fatal in an obvious way. We have a lot of other `getStatus()` calls and it's hard to be sure I got them all.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10967

Differential Revision: https://secure.phabricator.com/D17522

+89 -62
+1 -1
src/applications/differential/conduit/DifferentialCreateRevisionConduitAPIMethod.php
··· 53 53 } 54 54 55 55 $revision = DifferentialRevision::initializeNewRevision($viewer); 56 - $revision->attachReviewerStatus(array()); 56 + $revision->attachReviewers(array()); 57 57 58 58 $result = $this->applyFieldEdit( 59 59 $request,
+1 -1
src/applications/differential/customfield/DifferentialProjectReviewersField.php
··· 52 52 53 53 private function getProjectReviewers() { 54 54 $reviewers = array(); 55 - foreach ($this->getObject()->getReviewerStatus() as $reviewer) { 55 + foreach ($this->getObject()->getReviewers() as $reviewer) { 56 56 if (!$reviewer->isUser()) { 57 57 $reviewers[] = $reviewer; 58 58 }
+2 -2
src/applications/differential/customfield/DifferentialReviewersField.php
··· 17 17 18 18 protected function readValueFromRevision( 19 19 DifferentialRevision $revision) { 20 - return $revision->getReviewerStatus(); 20 + return $revision->getReviewers(); 21 21 } 22 22 23 23 public function shouldAppearInPropertyView() { ··· 53 53 54 54 private function getUserReviewers() { 55 55 $reviewers = array(); 56 - foreach ($this->getObject()->getReviewerStatus() as $reviewer) { 56 + foreach ($this->getObject()->getReviewers() as $reviewer) { 57 57 if ($reviewer->isUser()) { 58 58 $reviewers[] = $reviewer; 59 59 }
+29 -13
src/applications/differential/editor/DifferentialTransactionEditor.php
··· 326 326 // actually change the diff text. 327 327 328 328 $edits = array(); 329 - foreach ($object->getReviewerStatus() as $reviewer) { 329 + foreach ($object->getReviewers() as $reviewer) { 330 330 if ($downgrade_rejects) { 331 - if ($reviewer->getStatus() == $new_reject) { 331 + if ($reviewer->getReviewerStatus() == $new_reject) { 332 332 $edits[$reviewer->getReviewerPHID()] = array( 333 333 'data' => array( 334 334 'status' => $old_reject, ··· 338 338 } 339 339 340 340 if ($downgrade_accepts) { 341 - if ($reviewer->getStatus() == $new_accept) { 341 + if ($reviewer->getReviewerStatus() == $new_accept) { 342 342 $edits[$reviewer->getReviewerPHID()] = array( 343 343 'data' => array( 344 344 'status' => $old_accept, ··· 415 415 ); 416 416 417 417 $edits = array(); 418 - foreach ($object->getReviewerStatus() as $reviewer) { 418 + foreach ($object->getReviewers() as $reviewer) { 419 419 if ($reviewer->getReviewerPHID() == $actor_phid) { 420 - if ($reviewer->getStatus() == $status_added) { 420 + if ($reviewer->getReviewerStatus() == $status_added) { 421 421 $edits[$actor_phid] = array( 422 422 'data' => $data, 423 423 ); ··· 623 623 pht('Failed to load revision from transaction finalization.')); 624 624 } 625 625 626 - $object->attachReviewerStatus($new_revision->getReviewerStatus()); 626 + $object->attachReviewers($new_revision->getReviewers()); 627 627 $object->attachActiveDiff($new_revision->getActiveDiff()); 628 628 $object->attachRepository($new_revision->getRepository()); 629 629 ··· 645 645 $status_revision = ArcanistDifferentialRevisionStatus::NEEDS_REVISION; 646 646 $status_review = ArcanistDifferentialRevisionStatus::NEEDS_REVIEW; 647 647 648 + $is_sticky_accept = PhabricatorEnv::getEnvConfig( 649 + 'differential.sticky-accept'); 650 + 648 651 $old_status = $object->getStatus(); 652 + $active_diff = $object->getActiveDiff(); 649 653 switch ($old_status) { 650 654 case $status_accepted: 651 655 case $status_revision: ··· 661 665 $has_rejecting_reviewer = false; 662 666 $has_rejecting_older_reviewer = false; 663 667 $has_blocking_reviewer = false; 664 - foreach ($object->getReviewerStatus() as $reviewer) { 665 - $reviewer_status = $reviewer->getStatus(); 668 + foreach ($object->getReviewers() as $reviewer) { 669 + $reviewer_status = $reviewer->getReviewerStatus(); 666 670 switch ($reviewer_status) { 667 671 case DifferentialReviewerStatus::STATUS_REJECTED: 668 - $has_rejecting_reviewer = true; 672 + $action_phid = $reviewer->getLastActionDiffPHID(); 673 + $active_phid = $active_diff->getPHID(); 674 + $is_current = ($action_phid == $active_phid); 675 + 676 + if ($is_current) { 677 + $has_rejecting_reviewer = true; 678 + } 669 679 break; 670 680 case DifferentialReviewerStatus::STATUS_REJECTED_OLDER: 671 681 $has_rejecting_older_reviewer = true; ··· 675 685 break; 676 686 case DifferentialReviewerStatus::STATUS_ACCEPTED: 677 687 if ($reviewer->isUser()) { 678 - $has_accepting_user = true; 688 + $action_phid = $reviewer->getLastActionDiffPHID(); 689 + $active_phid = $active_diff->getPHID(); 690 + $is_current = ($action_phid == $active_phid); 691 + 692 + if ($is_sticky_accept || $is_current) { 693 + $has_accepting_user = true; 694 + } 679 695 } 680 696 break; 681 697 } ··· 1032 1048 protected function getMailTo(PhabricatorLiskDAO $object) { 1033 1049 $phids = array(); 1034 1050 $phids[] = $object->getAuthorPHID(); 1035 - foreach ($object->getReviewerStatus() as $reviewer) { 1051 + foreach ($object->getReviewers() as $reviewer) { 1036 1052 $phids[] = $reviewer->getReviewerPHID(); 1037 1053 } 1038 1054 return $phids; ··· 1507 1523 // and both are needlessly complex. This logic should live in the normal 1508 1524 // transaction application pipeline. See T10967. 1509 1525 1510 - $reviewers = $object->getReviewerStatus(); 1526 + $reviewers = $object->getReviewers(); 1511 1527 $reviewers = mpull($reviewers, null, 'getReviewerPHID'); 1512 1528 1513 1529 if ($is_blocking) { ··· 1528 1544 // If we're applying a stronger status (usually, upgrading a reviewer 1529 1545 // into a blocking reviewer), skip this check so we apply the change. 1530 1546 $old_strength = DifferentialReviewerStatus::getStatusStrength( 1531 - $reviewers[$phid]->getStatus()); 1547 + $reviewers[$phid]->getReviewerStatus()); 1532 1548 if ($old_strength <= $new_strength) { 1533 1549 continue; 1534 1550 }
+1 -2
src/applications/differential/engineextension/DifferentialHovercardEngineExtension.php
··· 54 54 pht('Author'), 55 55 $viewer->renderHandle($revision->getAuthorPHID())); 56 56 57 - $reviewer_phids = $revision->getReviewerStatus(); 58 - $reviewer_phids = mpull($reviewer_phids, 'getReviewerPHID'); 57 + $reviewer_phids = $revision->getReviewerPHIDs(); 59 58 60 59 $hovercard->addField( 61 60 pht('Reviewers'),
+2 -3
src/applications/differential/field/DifferentialReviewedByCommitMessageField.php
··· 37 37 } 38 38 39 39 $phids = array(); 40 - foreach ($revision->getReviewerStatus() as $reviewer) { 41 - switch ($reviewer->getStatus()) { 40 + foreach ($revision->getReviewers() as $reviewer) { 41 + switch ($reviewer->getReviewerStatus()) { 42 42 case DifferentialReviewerStatus::STATUS_ACCEPTED: 43 - case DifferentialReviewerStatus::STATUS_ACCEPTED_OLDER: 44 43 $phids[] = $reviewer->getReviewerPHID(); 45 44 break; 46 45 }
+2 -2
src/applications/differential/field/DifferentialReviewersCommitMessageField.php
··· 45 45 $status_blocking = DifferentialReviewerStatus::STATUS_BLOCKING; 46 46 47 47 $results = array(); 48 - foreach ($revision->getReviewerStatus() as $reviewer) { 49 - if ($reviewer->getStatus() == $status_blocking) { 48 + foreach ($revision->getReviewers() as $reviewer) { 49 + if ($reviewer->getReviewerStatus() == $status_blocking) { 50 50 $suffixes = array('!' => '!'); 51 51 } else { 52 52 $suffixes = array();
+1 -2
src/applications/differential/herald/DifferentialReviewersHeraldAction.php
··· 37 37 } 38 38 } 39 39 40 - $reviewers = $object->getReviewerStatus(); 41 - $reviewers = mpull($reviewers, null, 'getReviewerPHID'); 40 + $reviewers = $object->getReviewers(); 42 41 43 42 if ($is_blocking) { 44 43 $new_status = DifferentialReviewerStatus::STATUS_BLOCKING;
+1 -2
src/applications/differential/herald/HeraldDifferentialRevisionAdapter.php
··· 137 137 } 138 138 139 139 public function loadReviewers() { 140 - $reviewers = $this->getObject()->getReviewerStatus(); 141 - return mpull($reviewers, 'getReviewerPHID'); 140 + return $this->getObject()->getReviewerPHIDs(); 142 141 } 143 142 144 143
+1 -1
src/applications/differential/lipsum/PhabricatorDifferentialRevisionTestDataGenerator.php
··· 13 13 $author = $this->loadPhabricatorUser(); 14 14 15 15 $revision = DifferentialRevision::initializeNewRevision($author); 16 - $revision->attachReviewerStatus(array()); 16 + $revision->attachReviewers(array()); 17 17 $revision->attachActiveDiff(null); 18 18 19 19 // This could be a bit richer and more formal than it is.
+1 -2
src/applications/differential/query/DifferentialRevisionQuery.php
··· 974 974 $reviewers[$reviewer_phid] = $reviewer; 975 975 } 976 976 977 - $revision->attachReviewerStatus($reviewers); 977 + $revision->attachReviewers($reviewers); 978 978 } 979 979 } 980 980 ··· 993 993 $project_type = PhabricatorProjectProjectPHIDType::TYPECONST; 994 994 $package_type = PhabricatorOwnersPackagePHIDType::TYPECONST; 995 995 996 - $edge_type = DifferentialRevisionHasReviewerEdgeType::EDGECONST; 997 996 foreach ($reviewers as $revision_phid => $reviewer_list) { 998 997 if (!$allow_self) { 999 998 if ($revision_map[$revision_phid]->getAuthorPHID() == $viewer_phid) {
+2 -2
src/applications/differential/query/DifferentialRevisionResultBucket.php
··· 56 56 array $phids, 57 57 array $statuses) { 58 58 59 - foreach ($revision->getReviewerStatus() as $reviewer) { 59 + foreach ($revision->getReviewers() as $reviewer) { 60 60 $reviewer_phid = $reviewer->getReviewerPHID(); 61 61 if (empty($phids[$reviewer_phid])) { 62 62 continue; 63 63 } 64 64 65 - $status = $reviewer->getStatus(); 65 + $status = $reviewer->getReviewerStatus(); 66 66 if (empty($statuses[$status])) { 67 67 continue; 68 68 }
+4 -3
src/applications/differential/search/DifferentialRevisionFulltextEngine.php
··· 14 14 ->executeOne(); 15 15 16 16 // TODO: This isn't very clean, but custom fields currently rely on it. 17 - $object->attachReviewerStatus($revision->getReviewerStatus()); 17 + $object->attachReviewers($revision->getReviewers()); 18 18 19 19 $document->setDocumentTitle($revision->getTitle()); 20 20 ··· 36 36 // owner is the author (e.g., accepted, rejected, closed). 37 37 $status_review = ArcanistDifferentialRevisionStatus::NEEDS_REVIEW; 38 38 if ($revision->getStatus() == $status_review) { 39 - $reviewers = $revision->getReviewerStatus(); 40 - $reviewers = mpull($reviewers, 'getReviewerPHID', 'getReviewerPHID'); 39 + $reviewers = $revision->getReviewerPHIDs(); 40 + $reviewers = array_fuse($reviewers); 41 + 41 42 if ($reviewers) { 42 43 foreach ($reviewers as $phid) { 43 44 $document->addRelationship(
-6
src/applications/differential/storage/DifferentialReviewer.php
··· 27 27 ) + parent::getConfiguration(); 28 28 } 29 29 30 - public function getStatus() { 31 - // TODO: This is an older method for compatibility with some callers 32 - // which have not yet been cleaned up. 33 - return $this->getReviewerStatus(); 34 - } 35 - 36 30 public function isUser() { 37 31 $user_type = PhabricatorPeopleUserPHIDType::TYPECONST; 38 32 return (phid_get_type($this->getReviewerPHID()) == $user_type);
+9 -8
src/applications/differential/storage/DifferentialRevision.php
··· 70 70 ->setAuthorPHID($actor->getPHID()) 71 71 ->attachRepository(null) 72 72 ->attachActiveDiff(null) 73 - ->attachReviewerStatus(array()) 73 + ->attachReviewers(array()) 74 74 ->setStatus(ArcanistDifferentialRevisionStatus::NEEDS_REVIEW); 75 75 } 76 76 ··· 332 332 ); 333 333 } 334 334 335 - public function getReviewerStatus() { 335 + public function getReviewers() { 336 336 return $this->assertAttached($this->reviewerStatus); 337 337 } 338 338 339 - public function attachReviewerStatus(array $reviewers) { 339 + public function attachReviewers(array $reviewers) { 340 340 assert_instances_of($reviewers, 'DifferentialReviewer'); 341 + $reviewers = mpull($reviewers, null, 'getReviewerPHID'); 341 342 $this->reviewerStatus = $reviewers; 342 343 return $this; 343 344 } 344 345 345 346 public function getReviewerPHIDs() { 346 - $reviewers = $this->getReviewerStatus(); 347 + $reviewers = $this->getReviewers(); 347 348 return mpull($reviewers, 'getReviewerPHID'); 348 349 } 349 350 350 351 public function getReviewerPHIDsForEdit() { 351 - $reviewers = $this->getReviewerStatus(); 352 + $reviewers = $this->getReviewers(); 352 353 353 354 $status_blocking = DifferentialReviewerStatus::STATUS_BLOCKING; 354 355 355 356 $value = array(); 356 357 foreach ($reviewers as $reviewer) { 357 358 $phid = $reviewer->getReviewerPHID(); 358 - if ($reviewer->getStatus() == $status_blocking) { 359 + if ($reviewer->getReviewerStatus() == $status_blocking) { 359 360 $value[] = 'blocking('.$phid.')'; 360 361 } else { 361 362 $value[] = $phid; ··· 480 481 ->withPHIDs(array($this->getPHID())) 481 482 ->needReviewers(true) 482 483 ->executeOne() 483 - ->getReviewerStatus(); 484 + ->getReviewers(); 484 485 } else { 485 - $reviewers = $this->getReviewerStatus(); 486 + $reviewers = $this->getReviewers(); 486 487 } 487 488 488 489 foreach ($reviewers as $reviewer) {
+19 -8
src/applications/differential/xaction/DifferentialRevisionReviewTransaction.php
··· 21 21 $viewer, 22 22 array( 23 23 DifferentialReviewerStatus::STATUS_ACCEPTED, 24 - )); 24 + ), 25 + true); 25 26 } 26 27 27 28 protected function isViewerFullyRejected( ··· 32 33 $viewer, 33 34 array( 34 35 DifferentialReviewerStatus::STATUS_REJECTED, 35 - )); 36 + ), 37 + true); 36 38 } 37 39 38 40 protected function getViewerReviewerStatus( ··· 43 45 return null; 44 46 } 45 47 46 - foreach ($revision->getReviewerStatus() as $reviewer) { 48 + foreach ($revision->getReviewers() as $reviewer) { 47 49 if ($reviewer->getReviewerPHID() != $viewer->getPHID()) { 48 50 continue; 49 51 } 50 52 51 - return $reviewer->getStatus(); 53 + return $reviewer->getReviewerStatus(); 52 54 } 53 55 54 56 return null; ··· 57 59 protected function isViewerReviewerStatusFullyAmong( 58 60 DifferentialRevision $revision, 59 61 PhabricatorUser $viewer, 60 - array $status_list) { 62 + array $status_list, 63 + $require_current) { 61 64 62 65 // If the user themselves is not a reviewer, the reviews they have 63 66 // authority over can not all be in any set of states since their own ··· 67 70 return false; 68 71 } 69 72 73 + $active_phid = $this->getActiveDiffPHID($revision); 74 + 70 75 // Otherwise, check that all reviews they have authority over are in 71 76 // the desired set of states. 72 77 $status_map = array_fuse($status_list); 73 - foreach ($revision->getReviewerStatus() as $reviewer) { 78 + foreach ($revision->getReviewers() as $reviewer) { 74 79 if (!$reviewer->hasAuthority($viewer)) { 75 80 continue; 76 81 } 77 82 78 - $status = $reviewer->getStatus(); 83 + $status = $reviewer->getReviewerStatus(); 79 84 if (!isset($status_map[$status])) { 80 85 return false; 86 + } 87 + 88 + if ($require_current) { 89 + if ($reviewer->getLastActionDiffPHID() != $active_phid) { 90 + return false; 91 + } 81 92 } 82 93 } 83 94 ··· 97 108 // yourself. 98 109 $with_authority = ($status != DifferentialReviewerStatus::STATUS_RESIGNED); 99 110 if ($with_authority) { 100 - foreach ($revision->getReviewerStatus() as $reviewer) { 111 + foreach ($revision->getReviewers() as $reviewer) { 101 112 if ($reviewer->hasAuthority($viewer)) { 102 113 $map[$reviewer->getReviewerPHID()] = $status; 103 114 }
+2 -2
src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php
··· 7 7 const EDITKEY = 'reviewers'; 8 8 9 9 public function generateOldValue($object) { 10 - $reviewers = $object->getReviewerStatus(); 11 - $reviewers = mpull($reviewers, 'getStatus', 'getReviewerPHID'); 10 + $reviewers = $object->getReviewers(); 11 + $reviewers = mpull($reviewers, 'getReviewerStatus', 'getReviewerPHID'); 12 12 return $reviewers; 13 13 } 14 14
+9
src/applications/differential/xaction/DifferentialRevisionTransactionType.php
··· 57 57 $xaction); 58 58 } 59 59 60 + protected function getActiveDiffPHID(DifferentialRevision $revision) { 61 + try { 62 + $diff = $revision->getActiveDiff(); 63 + return $diff->getPHID(); 64 + } catch (Exception $ex) { 65 + return null; 66 + } 67 + } 68 + 60 69 }
+2 -2
src/applications/repository/worker/PhabricatorRepositoryCommitOwnersWorker.php
··· 165 165 $accepted_statuses = array_fuse($accepted_statuses); 166 166 167 167 $found_accept = false; 168 - foreach ($revision->getReviewerStatus() as $reviewer) { 168 + foreach ($revision->getReviewers() as $reviewer) { 169 169 $reviewer_phid = $reviewer->getReviewerPHID(); 170 170 171 171 // If this reviewer isn't a package owner, just ignore them. ··· 175 175 176 176 // If this reviewer accepted the revision and owns the package, we're 177 177 // all clear and do not need to trigger an audit. 178 - if (isset($accepted_statuses[$reviewer->getStatus()])) { 178 + if (isset($accepted_statuses[$reviewer->getReviewerStatus()])) { 179 179 $found_accept = true; 180 180 break; 181 181 }