Changeset View
Changeset View
Standalone View
Standalone View
src/applications/release/controller/ReleaseReleaseViewController.php
Show First 20 Lines • Show All 57 Lines • ▼ Show 20 Lines | public function handleRequest(AphrontRequest $request) { | ||||
$timeline->setQuoteRef($release->getMonogram()); | $timeline->setQuoteRef($release->getMonogram()); | ||||
$comment_view = id(new PhabricatorReleaseReleaseEditEngine()) | $comment_view = id(new PhabricatorReleaseReleaseEditEngine()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->buildEditEngineCommentView($release); | ->buildEditEngineCommentView($release); | ||||
$comment_view->setTransactionTimeline($timeline); | $comment_view->setTransactionTimeline($timeline); | ||||
$commits = $this->buildCommitsSection($viewer, $release); | $commits = $this->buildCommitsSection($viewer, $release); | ||||
$changes = $this->buildChangesSection($viewer, $release); | |||||
$view = id(new PHUITwoColumnView()) | $view = id(new PHUITwoColumnView()) | ||||
->setHeader($header) | ->setHeader($header) | ||||
->setCurtain($curtain) | ->setCurtain($curtain) | ||||
->setMainColumn(array( | ->setMainColumn(array( | ||||
$timeline, | $timeline, | ||||
$comment_view, | $comment_view, | ||||
)) | )) | ||||
->addPropertySection(pht('Details'), $properties) | ->addPropertySection(pht('Details'), $properties) | ||||
->addPropertySection(pht('Repositories'), $commits); | ->addPropertySection(pht('Repositories'), $commits) | ||||
->addPropertySection(pht('Pending Changes'), $changes); | |||||
return $this->newPage() | return $this->newPage() | ||||
->setTitle('X'.$release->getID().' '.$release_name) | ->setTitle('X'.$release->getID().' '.$release_name) | ||||
->setCrumbs($crumbs) | ->setCrumbs($crumbs) | ||||
->setPageObjectPHIDs( | ->setPageObjectPHIDs( | ||||
array( | array( | ||||
$release->getPHID(), | $release->getPHID(), | ||||
)) | )) | ||||
->appendChild( | ->appendChild( | ||||
array( | array( | ||||
$view, | $view, | ||||
)); | )); | ||||
} | } | ||||
private function buildChangesSection($viewer, $release) { | |||||
// TODO see all | |||||
$changes = id(new ReleaseChangeRequestQuery()) | |||||
->setViewer($viewer) | |||||
->setLimit(4) // TODO TODO TODO | |||||
->withReleasePHIDs(array($release->getPHID())) | |||||
->withStatuses(array(ReleaseChangeRequest::STATUS_PENDING)) | |||||
->needRequestObjects(true) | |||||
->execute(); | |||||
if (!$changes) { | |||||
return null; | |||||
} | |||||
$list = id(new PHUIObjectItemListView()); | |||||
foreach ($changes as $change) { | |||||
$item = id(new PHUIObjectItemView()) | |||||
->setObjectName($change->getMonogram()) | |||||
->setHref($change->getURI()) | |||||
->setHeader($change->getTitle()) | |||||
->addAttribute(pht('(impl: %s)', $change->getImplementationKey())); | |||||
/* D17004 | |||||
$field_list = PhabricatorCustomField::getObjectFields( | |||||
$change, | |||||
PhabricatorCustomField::ROLE_LIST); | |||||
$field_list | |||||
->appendFieldsToListItem($change, $this->getViewer(), $item); | |||||
*/ | |||||
$list->addItem($item); | |||||
} | |||||
return $list; | |||||
} | |||||
private function buildCommitsSection($viewer, $release) { | private function buildCommitsSection($viewer, $release) { | ||||
$cutpoints = $release->getCutpoints(); | $cutpoints = $release->getCutpoints(); | ||||
$currentrefs = $release->getCurrentRefs(); | $currentrefs = $release->getCurrentRefs(); | ||||
$repo_phids = array_keys($cutpoints); | $repo_phids = array_keys($cutpoints); | ||||
if (!$repo_phids) { | if (!$repo_phids) { | ||||
return null; | return null; | ||||
▲ Show 20 Lines • Show All 108 Lines • Show Last 20 Lines |