Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/maniphest/search/ManiphestSearchIndexer.php b/src/applications/maniphest/search/ManiphestSearchIndexer.php
index 5977cc357a..5d8fc96a6b 100644
--- a/src/applications/maniphest/search/ManiphestSearchIndexer.php
+++ b/src/applications/maniphest/search/ManiphestSearchIndexer.php
@@ -1,115 +1,88 @@
<?php
/**
* @group maniphest
*/
final class ManiphestSearchIndexer
extends PhabricatorSearchDocumentIndexer {
public function getIndexableObject() {
return new ManiphestTask();
}
protected function buildAbstractDocumentByPHID($phid) {
$task = $this->loadDocumentByPHID($phid);
$doc = new PhabricatorSearchAbstractDocument();
$doc->setPHID($task->getPHID());
$doc->setDocumentType(ManiphestPHIDTypeTask::TYPECONST);
$doc->setDocumentTitle($task->getTitle());
$doc->setDocumentCreated($task->getDateCreated());
$doc->setDocumentModified($task->getDateModified());
$doc->addField(
PhabricatorSearchField::FIELD_BODY,
$task->getDescription());
$doc->addRelationship(
PhabricatorSearchRelationship::RELATIONSHIP_AUTHOR,
$task->getAuthorPHID(),
PhabricatorPeoplePHIDTypeUser::TYPECONST,
$task->getDateCreated());
if ($task->getStatus() == ManiphestTaskStatus::STATUS_OPEN) {
$doc->addRelationship(
PhabricatorSearchRelationship::RELATIONSHIP_OPEN,
$task->getPHID(),
ManiphestPHIDTypeTask::TYPECONST,
time());
}
- $transactions = ManiphestLegacyTransactionQuery::loadByTask(
- $this->getViewer(),
- $task);
-
- $current_ccs = $task->getCCPHIDs();
- $owner = null;
- $ccs = array();
- foreach ($transactions as $transaction) {
- if ($transaction->hasComments()) {
- $doc->addField(
- PhabricatorSearchField::FIELD_COMMENT,
- $transaction->getComments());
- }
-
- $author = $transaction->getAuthorPHID();
-
- switch ($transaction->getTransactionType()) {
- case ManiphestTransactionType::TYPE_OWNER:
- $owner = $transaction;
- break;
- case ManiphestTransactionType::TYPE_CCS:
- // For users who are still CC'd, record the first time they were
- // added to CC.
- foreach ($transaction->getNewValue() as $added_cc) {
- if (in_array($added_cc, $current_ccs)) {
- if (empty($ccs[$added_cc])) {
- $ccs[$added_cc] = $transaction->getDateCreated();
- }
- }
- }
- break;
- }
- }
+ $this->indexTransactions(
+ $doc,
+ new ManiphestTransactionQuery(),
+ array($phid));
foreach ($task->getProjectPHIDs() as $phid) {
$doc->addRelationship(
PhabricatorSearchRelationship::RELATIONSHIP_PROJECT,
$phid,
PhabricatorProjectPHIDTypeProject::TYPECONST,
$task->getDateModified()); // Bogus.
}
- if ($owner && $owner->getNewValue()) {
+ $owner = $task->getOwnerPHID();
+ if ($owner) {
$doc->addRelationship(
PhabricatorSearchRelationship::RELATIONSHIP_OWNER,
- $owner->getNewValue(),
+ $owner,
PhabricatorPeoplePHIDTypeUser::TYPECONST,
- $owner->getDateCreated());
+ time());
} else {
$doc->addRelationship(
PhabricatorSearchRelationship::RELATIONSHIP_OWNER,
ManiphestTaskOwner::OWNER_UP_FOR_GRABS,
PhabricatorPHIDConstants::PHID_TYPE_MAGIC,
$owner
? $owner->getDateCreated()
: $task->getDateCreated());
}
// We need to load handles here since non-users may subscribe (mailing
// lists, e.g.)
+ $ccs = $task->getCCPHIDs();
$handles = id(new PhabricatorHandleQuery())
->setViewer(PhabricatorUser::getOmnipotentUser())
- ->withPHIDs(array_keys($ccs))
+ ->withPHIDs($ccs)
->execute();
- foreach ($ccs as $cc => $time) {
+ foreach ($ccs as $cc) {
$doc->addRelationship(
PhabricatorSearchRelationship::RELATIONSHIP_SUBSCRIBER,
$handles[$cc]->getPHID(),
$handles[$cc]->getType(),
- $time);
+ time());
}
return $doc;
}
}

File Metadata

Mime Type
text/x-diff
Expires
Thu, Aug 14, 9:36 PM (2 d, 18 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
202334
Default Alt Text
(4 KB)

Event Timeline