Differential D10789 Diff 25888 src/applications/differential/controller/DifferentialRevisionViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/controller/DifferentialRevisionViewController.php
Show All 18 Lines | public function processRequest() { | ||||
$viewer_is_anonymous = !$user->isLoggedIn(); | $viewer_is_anonymous = !$user->isLoggedIn(); | ||||
$revision = id(new DifferentialRevisionQuery()) | $revision = id(new DifferentialRevisionQuery()) | ||||
->withIDs(array($this->revisionID)) | ->withIDs(array($this->revisionID)) | ||||
->setViewer($request->getUser()) | ->setViewer($request->getUser()) | ||||
->needRelationships(true) | ->needRelationships(true) | ||||
->needReviewerStatus(true) | ->needReviewerStatus(true) | ||||
->needReviewerAuthority(true) | ->needReviewerAuthority(true) | ||||
->needDrafts(true) | |||||
->executeOne(); | ->executeOne(); | ||||
if (!$revision) { | if (!$revision) { | ||||
return new Aphront404Response(); | return new Aphront404Response(); | ||||
} | } | ||||
$diffs = id(new DifferentialDiffQuery()) | $diffs = id(new DifferentialDiffQuery()) | ||||
->setViewer($request->getUser()) | ->setViewer($request->getUser()) | ||||
▲ Show 20 Lines • Show All 218 Lines • ▼ Show 20 Lines | public function processRequest() { | ||||
$revision_detail->setUser($user); | $revision_detail->setUser($user); | ||||
$revision_detail_box = $revision_detail->render(); | $revision_detail_box = $revision_detail->render(); | ||||
$revision_warnings = $this->buildRevisionWarnings( | $revision_warnings = $this->buildRevisionWarnings( | ||||
$revision, | $revision, | ||||
$field_list, | $field_list, | ||||
$warning_handle_map, | $warning_handle_map, | ||||
$handles); | $handles, | ||||
$user); | |||||
if ($revision_warnings) { | if ($revision_warnings) { | ||||
$revision_warnings = id(new AphrontErrorView()) | $revision_warnings = id(new AphrontErrorView()) | ||||
->setSeverity(AphrontErrorView::SEVERITY_WARNING) | ->setSeverity(AphrontErrorView::SEVERITY_WARNING) | ||||
->setErrors($revision_warnings); | ->setErrors($revision_warnings); | ||||
$revision_detail_box->setErrorView($revision_warnings); | $revision_detail_box->setErrorView($revision_warnings); | ||||
} | } | ||||
$comment_view = $this->buildTransactions( | $comment_view = $this->buildTransactions( | ||||
▲ Show 20 Lines • Show All 675 Lines • ▼ Show 20 Lines | private function buildTransactions( | ||||
return $timeline; | return $timeline; | ||||
} | } | ||||
private function buildRevisionWarnings( | private function buildRevisionWarnings( | ||||
DifferentialRevision $revision, | DifferentialRevision $revision, | ||||
PhabricatorCustomFieldList $field_list, | PhabricatorCustomFieldList $field_list, | ||||
array $warning_handle_map, | array $warning_handle_map, | ||||
array $handles) { | array $handles, | ||||
$user) { | |||||
$warnings = array(); | $warnings = array(); | ||||
foreach ($field_list->getFields() as $key => $field) { | foreach ($field_list->getFields() as $key => $field) { | ||||
$phids = idx($warning_handle_map, $key, array()); | $phids = idx($warning_handle_map, $key, array()); | ||||
$field_handles = array_select_keys($handles, $phids); | $field_handles = array_select_keys($handles, $phids); | ||||
$field_warnings = $field->getWarningsForRevisionHeader($field_handles); | $field_warnings = $field->getWarningsForRevisionHeader($field_handles); | ||||
foreach ($field_warnings as $warning) { | foreach ($field_warnings as $warning) { | ||||
$warnings[] = $warning; | $warnings[] = $warning; | ||||
} | } | ||||
} | } | ||||
if ($revision->getDrafts($user)) { | |||||
btrahan: you could just grab the user with $this->getRequest()->getUser() if you like... 5 parameters is… | |||||
epriestleyUnsubmitted Not Done Inline ActionsYou can even do $this->getViewer() now on Controllers. epriestley: You can even do `$this->getViewer()` now on Controllers. | |||||
$warnings[] = pht('You have unsubmitted comments on this revision.'); | |||||
} | |||||
return $warnings; | return $warnings; | ||||
} | } | ||||
} | } |
you could just grab the user with $this->getRequest()->getUser() if you like... 5 parameters is a bunch.