From c16a0439b73ed626c1f8c52ea36f707a1c5ef10a Mon Sep 17 00:00:00 2001 From: Christopher Johnson <christopher.johnson@wikimedia.de> Date: Wed, 6 Jul 2016 06:34:50 +0200 Subject: [PATCH] updates to 2016-07-06 upstream 05699388804fc6ae1df5a17559917d218c4ec26d fixes reports Bug: T139338 Change-Id: Ib23bee68bdb5f07cc9be85a152b6396871852e58 --- src/conduit/SprintCreateConduitAPIMethod.php | 6 ++--- .../SprintProjectProfileController.php | 12 +++++----- src/controller/SprintReportController.php | 6 ++--- src/customfield/SprintProjectCustomField.php | 2 +- src/tests/SprintControllerTest.php | 12 +++++----- src/tests/SprintQueryTest.php | 2 +- src/view/SprintView.php | 22 +++++++++++++------ src/view/reports/SprintHistoryTableView.php | 2 +- src/view/reports/SprintReportBurnUpView.php | 19 ++++++++-------- .../reports/SprintReportOpenTasksView.php | 18 +++++++-------- 10 files changed, 55 insertions(+), 46 deletions(-) diff --git a/src/conduit/SprintCreateConduitAPIMethod.php b/src/conduit/SprintCreateConduitAPIMethod.php index 920e40b..712c8fa 100644 --- a/src/conduit/SprintCreateConduitAPIMethod.php +++ b/src/conduit/SprintCreateConduitAPIMethod.php @@ -80,9 +80,9 @@ final class SprintCreateConduitAPIMethod extends SprintConduitAPIMethod { ->setNewValue(strtotime($request->getValue('enddate'))); $editor = id(new PhabricatorProjectTransactionEditor()) - ->setActor($user) - ->setContinueOnNoEffect(true) - ->setContentSourceFromConduitRequest($request); + ->setActor($user) + ->setContinueOnNoEffect(true) + ->setContentSource($request->newContentSource()); $editor->applyTransactions($project, $xactions); diff --git a/src/controller/SprintProjectProfileController.php b/src/controller/SprintProjectProfileController.php index 71ce5e4..a1b2c19 100644 --- a/src/controller/SprintProjectProfileController.php +++ b/src/controller/SprintProjectProfileController.php @@ -29,7 +29,7 @@ final class SprintProjectProfileController $header = id(new PHUIHeaderView()) ->setHeader(array($project->getDisplayName(), $tag)) - ->setUser($viewer) + ->setViewer($viewer) ->setPolicyObject($project) ->setImage($picture) ->setProfileHeader(true); @@ -58,14 +58,14 @@ final class SprintProjectProfileController $subproject_list = $this->buildSubprojectList($project); $member_list = id(new PhabricatorProjectMemberListView()) - ->setUser($viewer) + ->setViewer($viewer) ->setProject($project) ->setLimit(5) ->setBackground(PHUIBoxView::GREY) ->setUserPHIDs($project->getMemberPHIDs()); $watcher_list = id(new PhabricatorProjectWatcherListView()) - ->setUser($viewer) + ->setViewer($viewer) ->setProject($project) ->setLimit(5) ->setBackground(PHUIBoxView::GREY) @@ -131,7 +131,7 @@ final class SprintProjectProfileController $viewer = $request->getViewer(); $view = id(new PHUIPropertyListView()) - ->setUser($viewer) + ->setViewer($viewer) ->setObject($project); $field_list = PhabricatorCustomField::getObjectFields( @@ -214,7 +214,7 @@ final class SprintProjectProfileController } $milestone_list = id(new PhabricatorProjectListView()) - ->setUser($viewer) + ->setViewer($viewer) ->setProjects($milestones) ->renderList(); @@ -262,7 +262,7 @@ final class SprintProjectProfileController } $subproject_list = id(new PhabricatorProjectListView()) - ->setUser($viewer) + ->setViewer($viewer) ->setProjects($subprojects) ->renderList(); diff --git a/src/controller/SprintReportController.php b/src/controller/SprintReportController.php index a3cec51..88a6cb4 100644 --- a/src/controller/SprintReportController.php +++ b/src/controller/SprintReportController.php @@ -33,18 +33,18 @@ final class SprintReportController extends SprintController { case 'user': case 'project': $core = id(new SprintReportOpenTasksView()) - ->setUser($viewer) + ->setViewer($viewer) ->setRequest($request) ->setView($this->view); break; case 'burn': $core = id(new SprintReportBurnUpView()) - ->setUser($viewer) + ->setViewer($viewer) ->setRequest($request); break; case 'history': $core = id(new SprintHistoryTableView()) - ->setUser($viewer) + ->setViewer($viewer) ->setRequest($request); break; default: diff --git a/src/customfield/SprintProjectCustomField.php b/src/customfield/SprintProjectCustomField.php index 94b201f..8761b9d 100644 --- a/src/customfield/SprintProjectCustomField.php +++ b/src/customfield/SprintProjectCustomField.php @@ -109,7 +109,7 @@ abstract class SprintProjectCustomField extends PhabricatorProjectCustomField $control = id(new AphrontFormDateControl()) ->setLabel($proxy->getFieldName()) ->setName($proxy->getFieldKey()) - ->setUser($proxy->getViewer()) + ->setViewer($proxy->getViewer()) ->setCaption($proxy->getCaption()) ->setAllowNull(!$proxy->getRequired()) ->setInitialTime($time); diff --git a/src/tests/SprintControllerTest.php b/src/tests/SprintControllerTest.php index b9103c7..7b30a61 100644 --- a/src/tests/SprintControllerTest.php +++ b/src/tests/SprintControllerTest.php @@ -34,7 +34,7 @@ final class SprintControllerTest extends SprintTestCase { $data['id'] = 18; $request->setURIMap($data); $viewer = $this->generateNewTestUser(); - $request->setUser($viewer); + $request->setViewer($viewer); $dvcontroller->willProcessRequest($data); $response = $dvcontroller->handleRequest($request); $this->assertInstanceOf('AphrontResponse', $response); @@ -50,7 +50,7 @@ final class SprintControllerTest extends SprintTestCase { $data['id'] = 3; $request->setURIMap($data); $viewer = $this->generateNewTestUser(); - $request->setUser($viewer); + $request->setViewer($viewer); $dvcontroller->willProcessRequest($data); $response = $dvcontroller->handleRequest($request); $this->assertInstanceOf('Aphront404Response', $response); @@ -66,7 +66,7 @@ final class SprintControllerTest extends SprintTestCase { $data['id'] = 18; $request->setURIMap($data); $viewer = $this->generateNewTestUser(); - $request->setUser($viewer); + $request->setViewer($viewer); $dvcontroller->willProcessRequest($data); $response = $dvcontroller->handleRequest($request); $this->assertInstanceOf('AphrontResponse', $response); @@ -82,7 +82,7 @@ final class SprintControllerTest extends SprintTestCase { $data['id'] = 3; $request->setURIMap($data); $viewer = $this->generateNewTestUser(); - $request->setUser($viewer); + $request->setViewer($viewer); $dvcontroller->willProcessRequest($data); $response = $dvcontroller->handleRequest($request); $this->assertInstanceOf('Aphront404Response', $response); @@ -98,7 +98,7 @@ final class SprintControllerTest extends SprintTestCase { $data['slug'] = 'null_project'; $request->setURIMap($data); $viewer = $this->generateNewTestUser(); - $request->setUser($viewer); + $request->setViewer($viewer); $dvcontroller->willProcessRequest($data); $response = $dvcontroller->handleRequest($request); $this->assertInstanceOf('AphrontResponse', $response); @@ -114,7 +114,7 @@ final class SprintControllerTest extends SprintTestCase { $data['slug'] = 'fail_project'; $request->setURIMap($data); $viewer = $this->generateNewTestUser(); - $request->setUser($viewer); + $request->setViewer($viewer); $dvcontroller->willProcessRequest($data); $response = $dvcontroller->handleRequest($request); $this->assertInstanceOf('Aphront404Response', $response); diff --git a/src/tests/SprintQueryTest.php b/src/tests/SprintQueryTest.php index 77a7810..b8d3718 100644 --- a/src/tests/SprintQueryTest.php +++ b/src/tests/SprintQueryTest.php @@ -10,7 +10,7 @@ final class SprintQueryTest extends SprintTestCase { public function testRequestSetUser() { $r = new AphrontRequest('example.com', '/'); $viewer = $this->generateNewTestUser(); - $r->setUser($viewer); + $r->setViewer($viewer); $this->assertEquals($viewer, $r->getUser()); return $r; } diff --git a/src/view/SprintView.php b/src/view/SprintView.php index 8f200e0..3571597 100644 --- a/src/view/SprintView.php +++ b/src/view/SprintView.php @@ -2,11 +2,19 @@ abstract class SprintView extends AphrontView { + + private $viewer; + + public function setViewer(PhabricatorUser $viewer) { + $this->viewer = $viewer; + return $this; + } + public function renderReportFilters(array $tokens, $has_window, $request, - $viewer) { + PhabricatorUser $viewer) { $form = id(new AphrontFormView()) - ->setUser($viewer) + ->setViewer($viewer) ->appendControl( id(new AphrontFormTokenizerControl()) ->setDatasource(new PhabricatorProjectDatasource()) @@ -16,7 +24,7 @@ abstract class SprintView extends AphrontView { ->setValue(mpull($tokens, 'getPHID'))); if ($has_window) { - list($window_str, , $window_error) = $this->getWindow($request); + list($window_str, , $window_error) = $this->getWindow($request, $viewer); $form ->appendChild( id(new AphrontFormDividerControl())); @@ -34,7 +42,7 @@ abstract class SprintView extends AphrontView { } - public function getWindow($request) { + public function getWindow($request, PhabricatorUser $viewer) { $window_str = $request->getStr('window', '12 AM 7 days ago'); $error = null; @@ -42,7 +50,7 @@ abstract class SprintView extends AphrontView { // Do locale-aware parsing so that the user's timezone is assumed for // time windows like "3 PM", rather than assuming the server timezone. - $window_epoch = PhabricatorTime::parseLocalTime($window_str, $this->user); + $window_epoch = PhabricatorTime::parseLocalTime($window_str, $viewer); if ($window_epoch === null) { $error = 'Invalid'; $window_epoch = time() - (60 * 60 * 24 * 7); @@ -63,7 +71,7 @@ abstract class SprintView extends AphrontView { return array($window_str, $window_epoch, $error); } - public function buildFilter($request) { + public function buildFilter($request, $viewer) { $handle = null; $project_phid = $request->getStr('project'); if ($project_phid) { @@ -75,7 +83,7 @@ abstract class SprintView extends AphrontView { $tokens = $this->getTokens($handle); } $filter = $this->renderReportFilters($tokens, $has_window = true, - $request, $this->user); + $request, $viewer); return $filter; } diff --git a/src/view/reports/SprintHistoryTableView.php b/src/view/reports/SprintHistoryTableView.php index a8565dd..444a680 100644 --- a/src/view/reports/SprintHistoryTableView.php +++ b/src/view/reports/SprintHistoryTableView.php @@ -7,7 +7,7 @@ final class SprintHistoryTableView extends SprintView { protected $viewer; public function setViewer(PhabricatorUser $viewer) { - $this->user = $viewer; + $this->viewer = $viewer; return $this; } diff --git a/src/view/reports/SprintReportBurnUpView.php b/src/view/reports/SprintReportBurnUpView.php index 56f464a..1e5450e 100644 --- a/src/view/reports/SprintReportBurnUpView.php +++ b/src/view/reports/SprintReportBurnUpView.php @@ -3,9 +3,10 @@ final class SprintReportBurnUpView extends SprintView { private $request; + private $viewer; - public function setUser(PhabricatorUser $viewer) { - $this->user = $viewer; + public function setViewer(PhabricatorUser $viewer) { + $this->viewer = $viewer; return $this; } @@ -16,7 +17,7 @@ final class SprintReportBurnUpView extends SprintView { public function render() { require_celerity_resource('sprint-report-css', 'sprint'); - $filter = $this->BuildFilter($this->request); + $filter = $this->BuildFilter($this->request, $this->viewer); if ($this->request->getStr('project')) { $chart = $this->buildBurnDownChart(); $table = $this->buildStatsTable(); @@ -73,7 +74,7 @@ final class SprintReportBurnUpView extends SprintView { $day_bucket = phabricator_format_local_time( $row['dateCreated'], - $this->user, + $this->viewer, 'Yz'); if (empty($stats[$day_bucket])) { @@ -94,7 +95,7 @@ final class SprintReportBurnUpView extends SprintView { $day_bucket = phabricator_format_local_time( $row['dateCreated'], - $this->user, + $this->viewer, 'Yz'); $day_buckets[$day_bucket] = $row['dateCreated']; } @@ -107,7 +108,7 @@ final class SprintReportBurnUpView extends SprintView { private function buildBucket($epoch, $format) { $bucket = phabricator_format_local_time( $epoch, - $this->user, + $this->viewer, $format); return $bucket; } @@ -138,7 +139,7 @@ final class SprintReportBurnUpView extends SprintView { if ($week_bucket != $last_week) { if ($week) { $rows[] = $this->formatBurnRow( - 'Week of '.phabricator_date($last_week_epoch, $this->user), + 'Week of '.phabricator_date($last_week_epoch, $this->viewer), $week); $rowc[] = 'week'; } @@ -153,7 +154,7 @@ final class SprintReportBurnUpView extends SprintView { if ($month) { $rows[] = $this->formatBurnRow( phabricator_format_local_time($last_month_epoch, - $this->user, 'F, Y'), + $this->viewer, 'F, Y'), $month); $rowc[] = 'month'; } @@ -162,7 +163,7 @@ final class SprintReportBurnUpView extends SprintView { $last_month_epoch = $epoch; } - $rows[] = $this->formatBurnRow(phabricator_date($epoch, $this->user), + $rows[] = $this->formatBurnRow(phabricator_date($epoch, $this->viewer), $info); $rowc[] = null; $week['open'] += $info['open']; diff --git a/src/view/reports/SprintReportOpenTasksView.php b/src/view/reports/SprintReportOpenTasksView.php index 421a35e..2a4f32c 100644 --- a/src/view/reports/SprintReportOpenTasksView.php +++ b/src/view/reports/SprintReportOpenTasksView.php @@ -6,8 +6,8 @@ final class SprintReportOpenTasksView extends SprintView { private $request; private $view; - public function setUser(PhabricatorUser $viewer) { - $this->user = $viewer; + public function setViewer(PhabricatorUser $viewer) { + $this->viewer = $viewer; return $this; } @@ -44,13 +44,13 @@ final class SprintReportOpenTasksView extends SprintView { if ($project_phid) { $phids = array($project_phid); $project_handle = $this->getProjectHandle($phids, $project_phid, $this->request); - $tasks = $this->getOpenTasksforProject($this->user, $phids); + $tasks = $this->getOpenTasksforProject($this->viewer, $phids); } else { - $tasks = $this->getOpenTasks($this->user); + $tasks = $this->getOpenTasks($this->viewer); } $recently_closed = $this->loadRecentlyClosedTasks(); - $date = phabricator_date(time(), $this->user); + $date = phabricator_date(time(), $this->viewer); $viewer_task_view = new UserOpenTasksView(); $project_task_view = new ProjectOpenTasksView(); @@ -96,7 +96,7 @@ final class SprintReportOpenTasksView extends SprintView { $tokens = array($project_handle); } $filter = $this->renderReportFilters($tokens, $has_window = false, - $this->request, $this->user); + $this->request, $this->viewer); return array($filter, $panel); } @@ -286,8 +286,8 @@ final class SprintReportOpenTasksView extends SprintView { pht('Oldest (Pri)')); $cclass[] = 'center narrow'; - list($window_epoch) = $this->getWindow($this->request); - $edate = phabricator_datetime($window_epoch, $this->user); + list($window_epoch) = $this->getWindow($this->request, $this->viewer); + $edate = phabricator_datetime($window_epoch, $this->viewer); $cname[] = javelin_tag( 'span', array( @@ -337,7 +337,7 @@ final class SprintReportOpenTasksView extends SprintView { * Load all the tasks that have been recently closed. */ private function loadRecentlyClosedTasks() { - list(, , $window_epoch) = $this->getWindow($this->request); + list(, , $window_epoch) = $this->getWindow($this->request, $this->viewer); $table = new ManiphestTask(); $xtable = new ManiphestTransaction(); -- GitLab