From 86a106d0b123470e135d91f9ab5ca54374cfcf4d Mon Sep 17 00:00:00 2001 From: Bob Trahan Date: Wed, 12 Dec 2012 21:21:56 -0800 Subject: [PATCH] cowboy commit -- fixing fatal I introduced from D4174 Summary: we don't always have a diff so instead set an explicit title in the controller. Test Plan: no more fatals. grepped carefully for every call site and tested them all --- .../controller/DifferentialDiffViewController.php | 2 ++ .../DifferentialRevisionViewController.php | 1 + .../view/DifferentialChangesetListView.php | 12 +++++++++++- .../controller/DiffusionChangeController.php | 7 +++++-- .../controller/DiffusionCommitController.php | 5 +++++ 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/applications/differential/controller/DifferentialDiffViewController.php b/src/applications/differential/controller/DifferentialDiffViewController.php index c5bc4be9d7..a00c153c3a 100644 --- a/src/applications/differential/controller/DifferentialDiffViewController.php +++ b/src/applications/differential/controller/DifferentialDiffViewController.php @@ -132,6 +132,8 @@ final class DifferentialDiffViewController extends DifferentialController { ->setVisibleChangesets($changesets) ->setRenderingReferences($refs) ->setStandaloneURI('/differential/changeset/') + ->setDiff($diff) + ->setTitle('D'.$diff->getID()); ->setUser($request->getUser()); return $this->buildStandardPageResponse( diff --git a/src/applications/differential/controller/DifferentialRevisionViewController.php b/src/applications/differential/controller/DifferentialRevisionViewController.php index bdbcc9d3af..a4b49ea760 100644 --- a/src/applications/differential/controller/DifferentialRevisionViewController.php +++ b/src/applications/differential/controller/DifferentialRevisionViewController.php @@ -304,6 +304,7 @@ final class DifferentialRevisionViewController extends DifferentialController { $changeset_view->setRepository($repository); } $changeset_view->setSymbolIndexes($symbol_indexes); + $changeset_view->setTitle('D'.$target->getID()); $diff_history = new DifferentialRevisionUpdateHistoryView(); $diff_history->setDiffs($diffs); diff --git a/src/applications/differential/view/DifferentialChangesetListView.php b/src/applications/differential/view/DifferentialChangesetListView.php index d737c87ff4..f58cd45917 100644 --- a/src/applications/differential/view/DifferentialChangesetListView.php +++ b/src/applications/differential/view/DifferentialChangesetListView.php @@ -20,6 +20,16 @@ final class DifferentialChangesetListView extends AphrontView { private $diff; private $vsMap = array(); + private $title; + + public function setTitle($title) { + $this->title = $title; + return $this; + } + private function getTitle() { + return $this->title; + } + public function setBranch($branch) { $this->branch = $branch; return $this; @@ -190,7 +200,7 @@ final class DifferentialChangesetListView extends AphrontView { return id(new PhabricatorHeaderView()) - ->setHeader('D'.$this->diff->getID()) + ->setHeader($this->getTitle()) ->render(). phutil_render_tag( 'div', diff --git a/src/applications/diffusion/controller/DiffusionChangeController.php b/src/applications/diffusion/controller/DiffusionChangeController.php index cabe90feb0..82e8ec4a6b 100644 --- a/src/applications/diffusion/controller/DiffusionChangeController.php +++ b/src/applications/diffusion/controller/DiffusionChangeController.php @@ -14,13 +14,16 @@ final class DiffusionChangeController extends DiffusionController { // TODO: Refine this. return new Aphront404Response(); } - - $callsign = $drequest->getRepository()->getCallsign(); + + $repository = $drequest->getRepository(); + $callsign = $repository->getCallsign(); + $commit = $drequest->getRawCommit(); $changesets = array( 0 => $changeset, ); $changeset_view = new DifferentialChangesetListView(); + $changeset_view->setTitle(DiffusionView::nameCommit($repository, $commit)); $changeset_view->setChangesets($changesets); $changeset_view->setVisibleChangesets($changesets); $changeset_view->setRenderingReferences( diff --git a/src/applications/diffusion/controller/DiffusionCommitController.php b/src/applications/diffusion/controller/DiffusionCommitController.php index 1d91f059d9..0e0735379b 100644 --- a/src/applications/diffusion/controller/DiffusionCommitController.php +++ b/src/applications/diffusion/controller/DiffusionCommitController.php @@ -257,7 +257,12 @@ final class DiffusionCommitController extends DiffusionController { } } + $change_list_title = DiffusionView::nameCommit( + $repository, + $commit->getCommitIdentifier() + ); $change_list = new DifferentialChangesetListView(); + $change_list->setTitle($change_list_title); $change_list->setChangesets($changesets); $change_list->setVisibleChangesets($visible_changesets); $change_list->setRenderingReferences($references);