[MediaWiki-commits] [Gerrit] adds conduit methods to set and get start and end dates for ... - change (phabricator...Sprint)
Christopher Johnson (WMDE) has submitted this change and it was merged. Change subject: adds conduit methods to set and get start and end dates for a Sprint .. adds conduit methods to set and get start and end dates for a Sprint Bug: T106815 Change-Id: Ib5d16432156c0f98c9b3c90dc0b4b8eed34ee363 --- M src/__phutil_library_map__.php M src/conduit/SprintConduitAPIMethod.php A src/conduit/SprintGetStartEndDatesConduitAPIMethod.php A src/conduit/SprintSetStartEndDatesConduitAPIMethod.php 4 files changed, 155 insertions(+), 1 deletion(-) Approvals: Christopher Johnson (WMDE): Verified; Looks good to me, approved diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 20d42d8..f0a2754 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -51,6 +51,7 @@ 'SprintDefaultViewCapability' = 'capability/SprintDefaultViewCapability.php', 'SprintEndDateField' = 'customfield/SprintEndDateField.php', 'SprintGetIsSprintConduitAPIMethod' = 'conduit/SprintGetIsSprintConduitAPIMethod.php', +'SprintGetStartEndDatesConduitAPIMethod' = 'conduit/SprintGetStartEndDatesConduitAPIMethod.php', 'SprintGetTaskProjectHistoryConduitAPIMethod' = 'conduit/SprintGetTaskProjectHistoryConduitAPIMethod.php', 'SprintHandleIconView' = 'view/SprintHandleIconView.php', 'SprintHistoryController' = 'controller/SprintHistoryController.php', @@ -70,6 +71,7 @@ 'SprintReportController' = 'controller/SprintReportController.php', 'SprintReportOpenTasksView' = 'view/reports/SprintReportOpenTasksView.php', 'SprintSetIsSprintConduitAPIMethod' = 'conduit/SprintSetIsSprintConduitAPIMethod.php', +'SprintSetStartEndDatesConduitAPIMethod' = 'conduit/SprintSetStartEndDatesConduitAPIMethod.php', 'SprintStats' = 'storage/SprintStats.php', 'SprintStatsTest' = 'tests/SprintStatsTest.php', 'SprintTableView' = 'view/SprintTableView.php', @@ -121,6 +123,7 @@ 'SprintDefaultViewCapability' = 'PhabricatorPolicyCapability', 'SprintEndDateField' = 'SprintProjectCustomField', 'SprintGetIsSprintConduitAPIMethod' = 'SprintConduitAPIMethod', +'SprintGetStartEndDatesConduitAPIMethod' = 'SprintConduitAPIMethod', 'SprintGetTaskProjectHistoryConduitAPIMethod' = 'SprintConduitAPIMethod', 'SprintHandleIconView' = 'AphrontTagView', 'SprintHistoryController' = 'SprintController', @@ -141,6 +144,7 @@ 'SprintReportController' = 'SprintController', 'SprintReportOpenTasksView' = 'SprintView', 'SprintSetIsSprintConduitAPIMethod' = 'SprintConduitAPIMethod', +'SprintSetStartEndDatesConduitAPIMethod' = 'SprintConduitAPIMethod', 'SprintStatsTest' = 'SprintTestCase', 'SprintTableView' = 'AphrontView', 'SprintTaskStoryPointsField' = array( diff --git a/src/conduit/SprintConduitAPIMethod.php b/src/conduit/SprintConduitAPIMethod.php index c41a204..3b0cc56 100644 --- a/src/conduit/SprintConduitAPIMethod.php +++ b/src/conduit/SprintConduitAPIMethod.php @@ -11,6 +11,36 @@ return idx($results, $project-getPHID()); } + protected function buildSprintInfoDictionary(PhabricatorProject $project, $user) { +$result = array(); +$query = id(new SprintQuery()) +-setViewer($user); +$dates = $this-getStartEndDates($query, $project); +$member_phids = $project-getMemberPHIDs(); +$member_phids = array_values($member_phids); +$project_slugs = $project-getSlugs(); +$project_slugs = array_values(mpull($project_slugs, 'getSlug')); +$issprint = $this-isSprint($project-getPHID()); +$project_icon = PhabricatorProjectIcon::getAPIName($project-getIcon()); + +$result[$project-getPHID()] = array( +'id' = $project-getID(), +'phid' = $project-getPHID(), +'name' = $project-getName(), +'profileImagePHID' = $project-getProfileImagePHID(), +'icon' = $project_icon, +'color'= $project-getColor(), +'members' = $member_phids, +'slugs'= $project_slugs, +'issprint' = $issprint, +'startDate'= $dates['start'], +'endDate' = $dates['end'], +'dateCreated' = $project-getDateCreated(), +'dateModified' = $project-getDateModified(), +); +return $result; + } + protected function buildProjectInfoDictionaries(array $projects) { assert_instances_of($projects, 'PhabricatorProject'); if (empty($projects)) { @@ -22,7 +52,6 @@ $member_phids = $project-getMemberPHIDs(); $member_phids = array_values($member_phids); - $project_slugs = $project-getSlugs(); $project_slugs = array_values(mpull($project_slugs, 'getSlug')); $issprint = $this-isSprint($project-getPHID()); @@ -52,4 +81,13 @@ array($validator, 'isSprint'), $project_phid); return
[MediaWiki-commits] [Gerrit] adds conduit methods to set and get start and end dates for ... - change (phabricator...Sprint)
Christopher Johnson (WMDE) has uploaded a new change for review. https://gerrit.wikimedia.org/r/226992 Change subject: adds conduit methods to set and get start and end dates for a Sprint .. adds conduit methods to set and get start and end dates for a Sprint Bug: T106815 Change-Id: Ib5d16432156c0f98c9b3c90dc0b4b8eed34ee363 --- M src/__phutil_library_map__.php M src/conduit/SprintConduitAPIMethod.php A src/conduit/SprintGetStartEndDatesConduitAPIMethod.php A src/conduit/SprintSetStartEndDatesConduitAPIMethod.php 4 files changed, 155 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/phabricator/extensions/Sprint refs/changes/92/226992/1 diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php index 20d42d8..f0a2754 100644 --- a/src/__phutil_library_map__.php +++ b/src/__phutil_library_map__.php @@ -51,6 +51,7 @@ 'SprintDefaultViewCapability' = 'capability/SprintDefaultViewCapability.php', 'SprintEndDateField' = 'customfield/SprintEndDateField.php', 'SprintGetIsSprintConduitAPIMethod' = 'conduit/SprintGetIsSprintConduitAPIMethod.php', +'SprintGetStartEndDatesConduitAPIMethod' = 'conduit/SprintGetStartEndDatesConduitAPIMethod.php', 'SprintGetTaskProjectHistoryConduitAPIMethod' = 'conduit/SprintGetTaskProjectHistoryConduitAPIMethod.php', 'SprintHandleIconView' = 'view/SprintHandleIconView.php', 'SprintHistoryController' = 'controller/SprintHistoryController.php', @@ -70,6 +71,7 @@ 'SprintReportController' = 'controller/SprintReportController.php', 'SprintReportOpenTasksView' = 'view/reports/SprintReportOpenTasksView.php', 'SprintSetIsSprintConduitAPIMethod' = 'conduit/SprintSetIsSprintConduitAPIMethod.php', +'SprintSetStartEndDatesConduitAPIMethod' = 'conduit/SprintSetStartEndDatesConduitAPIMethod.php', 'SprintStats' = 'storage/SprintStats.php', 'SprintStatsTest' = 'tests/SprintStatsTest.php', 'SprintTableView' = 'view/SprintTableView.php', @@ -121,6 +123,7 @@ 'SprintDefaultViewCapability' = 'PhabricatorPolicyCapability', 'SprintEndDateField' = 'SprintProjectCustomField', 'SprintGetIsSprintConduitAPIMethod' = 'SprintConduitAPIMethod', +'SprintGetStartEndDatesConduitAPIMethod' = 'SprintConduitAPIMethod', 'SprintGetTaskProjectHistoryConduitAPIMethod' = 'SprintConduitAPIMethod', 'SprintHandleIconView' = 'AphrontTagView', 'SprintHistoryController' = 'SprintController', @@ -141,6 +144,7 @@ 'SprintReportController' = 'SprintController', 'SprintReportOpenTasksView' = 'SprintView', 'SprintSetIsSprintConduitAPIMethod' = 'SprintConduitAPIMethod', +'SprintSetStartEndDatesConduitAPIMethod' = 'SprintConduitAPIMethod', 'SprintStatsTest' = 'SprintTestCase', 'SprintTableView' = 'AphrontView', 'SprintTaskStoryPointsField' = array( diff --git a/src/conduit/SprintConduitAPIMethod.php b/src/conduit/SprintConduitAPIMethod.php index c41a204..3b0cc56 100644 --- a/src/conduit/SprintConduitAPIMethod.php +++ b/src/conduit/SprintConduitAPIMethod.php @@ -11,6 +11,36 @@ return idx($results, $project-getPHID()); } + protected function buildSprintInfoDictionary(PhabricatorProject $project, $user) { +$result = array(); +$query = id(new SprintQuery()) +-setViewer($user); +$dates = $this-getStartEndDates($query, $project); +$member_phids = $project-getMemberPHIDs(); +$member_phids = array_values($member_phids); +$project_slugs = $project-getSlugs(); +$project_slugs = array_values(mpull($project_slugs, 'getSlug')); +$issprint = $this-isSprint($project-getPHID()); +$project_icon = PhabricatorProjectIcon::getAPIName($project-getIcon()); + +$result[$project-getPHID()] = array( +'id' = $project-getID(), +'phid' = $project-getPHID(), +'name' = $project-getName(), +'profileImagePHID' = $project-getProfileImagePHID(), +'icon' = $project_icon, +'color'= $project-getColor(), +'members' = $member_phids, +'slugs'= $project_slugs, +'issprint' = $issprint, +'startDate'= $dates['start'], +'endDate' = $dates['end'], +'dateCreated' = $project-getDateCreated(), +'dateModified' = $project-getDateModified(), +); +return $result; + } + protected function buildProjectInfoDictionaries(array $projects) { assert_instances_of($projects, 'PhabricatorProject'); if (empty($projects)) { @@ -22,7 +52,6 @@ $member_phids = $project-getMemberPHIDs(); $member_phids = array_values($member_phids); - $project_slugs = $project-getSlugs(); $project_slugs = array_values(mpull($project_slugs, 'getSlug')); $issprint = $this-isSprint($project-getPHID()); @@ -52,4 +81,13 @@