Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/query/DifferentialRepositoryLookup.php
Show All 16 Lines | public function setViewer(PhabricatorUser $viewer) { | ||||
$this->viewer = $viewer; | $this->viewer = $viewer; | ||||
return $this; | return $this; | ||||
} | } | ||||
public function lookupRepository() { | public function lookupRepository() { | ||||
$viewer = $this->viewer; | $viewer = $this->viewer; | ||||
$diff = $this->diff; | $diff = $this->diff; | ||||
// Look for an explicit Arcanist project. | |||||
if ($diff->getArcanistProjectPHID()) { | |||||
$project = id(new PhabricatorRepositoryArcanistProject())->loadOneWhere( | |||||
'phid = %s', | |||||
$diff->getArcanistProjectPHID()); | |||||
if ($project && $project->getRepositoryID()) { | |||||
$repositories = id(new PhabricatorRepositoryQuery()) | |||||
->setViewer($viewer) | |||||
->withIDs(array($project->getRepositoryID())) | |||||
->execute(); | |||||
if ($repositories) { | |||||
return head($repositories); | |||||
} | |||||
} | |||||
} | |||||
// Look for a repository UUID. | // Look for a repository UUID. | ||||
if ($diff->getRepositoryUUID()) { | if ($diff->getRepositoryUUID()) { | ||||
$repositories = id(new PhabricatorRepositoryQuery()) | $repositories = id(new PhabricatorRepositoryQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withUUIDs(array($diff->getRepositoryUUID())) | ->withUUIDs(array($diff->getRepositoryUUID())) | ||||
->execute(); | ->execute(); | ||||
if ($repositories) { | if ($repositories) { | ||||
return head($repositories); | return head($repositories); | ||||
Show All 35 Lines |