From 203d82083a98823b679335d0b532884f3693d078 Mon Sep 17 00:00:00 2001 From: Erik Fercak Date: Fri, 25 Oct 2013 11:35:22 -0700 Subject: [PATCH] Allow prefilling a task's assignee by his PHID Summary: Some scripts might find it easier to work with PHIDs instead of user names. Test Plan: Use ?assign= and ?assign= with the create task URI. See assignee input being filled correctly. Reviewers: #blessed_reviewers, epriestley Reviewed By: epriestley CC: epriestley, aran, Korvin Differential Revision: https://secure.phabricator.com/D7401 --- .../controller/ManiphestTaskEditController.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/applications/maniphest/controller/ManiphestTaskEditController.php b/src/applications/maniphest/controller/ManiphestTaskEditController.php index 1723535ff7..3d9be734d2 100644 --- a/src/applications/maniphest/controller/ManiphestTaskEditController.php +++ b/src/applications/maniphest/controller/ManiphestTaskEditController.php @@ -100,9 +100,17 @@ final class ManiphestTaskEditController extends ManiphestController { if ($can_edit_assign) { $assign = $request->getStr('assign'); if (strlen($assign)) { - $assign_user = id(new PhabricatorUser())->loadOneWhere( - 'username = %s', - $assign); + $assign_user = id(new PhabricatorPeopleQuery()) + ->setViewer($user) + ->withUsernames(array($assign)) + ->executeOne(); + if (!$assign_user) { + $assign_user = id(new PhabricatorPeopleQuery()) + ->setViewer($user) + ->withPHIDs(array($assign)) + ->executeOne(); + } + if ($assign_user) { $task->setOwnerPHID($assign_user->getPHID()); }