Changeset View
Changeset View
Standalone View
Standalone View
src/applications/ponder/controller/PonderQuestionViewController.php
Show First 20 Lines • Show All 135 Lines • ▼ Show 20 Lines | private function buildPropertyListView( | ||||
PhabricatorActionListView $actions) { | PhabricatorActionListView $actions) { | ||||
$viewer = $this->getRequest()->getUser(); | $viewer = $this->getRequest()->getUser(); | ||||
$view = id(new PHUIPropertyListView()) | $view = id(new PHUIPropertyListView()) | ||||
->setUser($viewer) | ->setUser($viewer) | ||||
->setObject($question) | ->setObject($question) | ||||
->setActionList($actions); | ->setActionList($actions); | ||||
$this->loadHandles(array($question->getAuthorPHID())); | |||||
$view->addProperty( | $view->addProperty( | ||||
pht('Status'), | pht('Status'), | ||||
PonderQuestionStatus::getQuestionStatusFullName($question->getStatus())); | PonderQuestionStatus::getQuestionStatusFullName($question->getStatus())); | ||||
$view->addProperty( | $view->addProperty( | ||||
pht('Author'), | pht('Author'), | ||||
$this->getHandle($question->getAuthorPHID())->renderLink()); | $viewer->renderHandle($question->getAuthorPHID())); | ||||
$view->addProperty( | $view->addProperty( | ||||
pht('Created'), | pht('Created'), | ||||
phabricator_datetime($question->getDateCreated(), $viewer)); | phabricator_datetime($question->getDateCreated(), $viewer)); | ||||
$view->invokeWillRenderEvent(); | $view->invokeWillRenderEvent(); | ||||
$votable = id(new PonderVotableView()) | $votable = id(new PonderVotableView()) | ||||
▲ Show 20 Lines • Show All 55 Lines • ▼ Show 20 Lines | final class PonderQuestionViewController extends PonderController { | ||||
* standard fashion. This is necessary to scale this application. | * standard fashion. This is necessary to scale this application. | ||||
*/ | */ | ||||
private function buildAnswers(array $answers) { | private function buildAnswers(array $answers) { | ||||
$request = $this->getRequest(); | $request = $this->getRequest(); | ||||
$viewer = $request->getUser(); | $viewer = $request->getUser(); | ||||
$out = array(); | $out = array(); | ||||
$phids = mpull($answers, 'getAuthorPHID'); | |||||
$this->loadHandles($phids); | |||||
$xactions = id(new PonderAnswerTransactionQuery()) | $xactions = id(new PonderAnswerTransactionQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withTransactionTypes(array(PhabricatorTransactions::TYPE_COMMENT)) | ->withTransactionTypes(array(PhabricatorTransactions::TYPE_COMMENT)) | ||||
->withObjectPHIDs(mpull($answers, 'getPHID')) | ->withObjectPHIDs(mpull($answers, 'getPHID')) | ||||
->execute(); | ->execute(); | ||||
$engine = id(new PhabricatorMarkupEngine()) | $engine = id(new PhabricatorMarkupEngine()) | ||||
->setViewer($viewer); | ->setViewer($viewer); | ||||
Show All 13 Lines | foreach ($answers as $answer) { | ||||
$xactions = idx($xaction_groups, $answer->getPHID(), array()); | $xactions = idx($xaction_groups, $answer->getPHID(), array()); | ||||
$id = $answer->getID(); | $id = $answer->getID(); | ||||
$out[] = phutil_tag('br'); | $out[] = phutil_tag('br'); | ||||
$out[] = phutil_tag('br'); | $out[] = phutil_tag('br'); | ||||
$out[] = id(new PhabricatorAnchorView()) | $out[] = id(new PhabricatorAnchorView()) | ||||
->setAnchorName("A$id"); | ->setAnchorName("A$id"); | ||||
$header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
->setHeader($this->getHandle($author_phid)->getFullName()); | ->setHeader($viewer->renderHandle($author_phid)); | ||||
$actions = $this->buildAnswerActions($answer); | $actions = $this->buildAnswerActions($answer); | ||||
$properties = $this->buildAnswerProperties($answer, $actions); | $properties = $this->buildAnswerProperties($answer, $actions); | ||||
$object_box = id(new PHUIObjectBoxView()) | $object_box = id(new PHUIObjectBoxView()) | ||||
->setHeader($header) | ->setHeader($header) | ||||
->addPropertyList($properties); | ->addPropertyList($properties); | ||||
▲ Show 20 Lines • Show All 146 Lines • Show Last 20 Lines |