Page MenuHomePhabricator

D17633.diff
No OneTemporary

D17633.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -502,6 +502,7 @@
'DifferentialReviewersCommitMessageField' => 'applications/differential/field/DifferentialReviewersCommitMessageField.php',
'DifferentialReviewersField' => 'applications/differential/customfield/DifferentialReviewersField.php',
'DifferentialReviewersHeraldAction' => 'applications/differential/herald/DifferentialReviewersHeraldAction.php',
+ 'DifferentialReviewersSearchEngineAttachment' => 'applications/differential/engineextension/DifferentialReviewersSearchEngineAttachment.php',
'DifferentialReviewersView' => 'applications/differential/view/DifferentialReviewersView.php',
'DifferentialRevision' => 'applications/differential/storage/DifferentialRevision.php',
'DifferentialRevisionAbandonTransaction' => 'applications/differential/xaction/DifferentialRevisionAbandonTransaction.php',
@@ -5275,6 +5276,7 @@
'DifferentialReviewersCommitMessageField' => 'DifferentialCommitMessageField',
'DifferentialReviewersField' => 'DifferentialCoreCustomField',
'DifferentialReviewersHeraldAction' => 'HeraldAction',
+ 'DifferentialReviewersSearchEngineAttachment' => 'PhabricatorSearchEngineAttachment',
'DifferentialReviewersView' => 'AphrontView',
'DifferentialRevision' => array(
'DifferentialDAO',
diff --git a/src/applications/differential/engineextension/DifferentialReviewersSearchEngineAttachment.php b/src/applications/differential/engineextension/DifferentialReviewersSearchEngineAttachment.php
new file mode 100644
--- /dev/null
+++ b/src/applications/differential/engineextension/DifferentialReviewersSearchEngineAttachment.php
@@ -0,0 +1,41 @@
+<?php
+
+final class DifferentialReviewersSearchEngineAttachment
+ extends PhabricatorSearchEngineAttachment {
+
+ public function getAttachmentName() {
+ return pht('Differential Reviewers');
+ }
+
+ public function getAttachmentDescription() {
+ return pht('Get the reviewers for each revision.');
+ }
+
+ public function willLoadAttachmentData($query, $spec) {
+ $query->needReviewers(true);
+ }
+
+ public function getAttachmentForObject($object, $data, $spec) {
+ $reviewers = $object->getReviewers();
+
+ $status_blocking = DifferentialReviewerStatus::STATUS_BLOCKING;
+
+ $list = array();
+ foreach ($reviewers as $reviewer) {
+ $status = $reviewer->getReviewerStatus();
+ $is_blocking = ($status == $status_blocking);
+
+ $list[] = array(
+ 'reviewerPHID' => $reviewer->getReviewerPHID(),
+ 'status' => $status,
+ 'isBlocking' => $is_blocking,
+ 'actorPHID' => $reviewer->getLastActorPHID(),
+ );
+ }
+
+ return array(
+ 'reviewers' => $list,
+ );
+ }
+
+}
diff --git a/src/applications/differential/storage/DifferentialRevision.php b/src/applications/differential/storage/DifferentialRevision.php
--- a/src/applications/differential/storage/DifferentialRevision.php
+++ b/src/applications/differential/storage/DifferentialRevision.php
@@ -907,7 +907,10 @@
}
public function getConduitSearchAttachments() {
- return array();
+ return array(
+ id(new DifferentialReviewersSearchEngineAttachment())
+ ->setAttachmentKey('reviewers'),
+ );
}

File Metadata

Mime Type
text/plain
Expires
Thu, May 9, 8:03 PM (3 w, 22 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6276296
Default Alt Text
D17633.diff (3 KB)

Event Timeline