mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-19 12:00:55 +01:00
Make Maniphest project prefill more modern and standard
Summary: Fixes T4777. We technically support `?projects=...` already, but parse it in an unusual way and apply old, awkward, excessively strict lookups to it. Test Plan: Used reasonable, standard, human-readable strings to prefill `?projects=` and got the results I expected. Reviewers: btrahan, chad Reviewed By: chad Subscribers: epriestley Maniphest Tasks: T4777 Differential Revision: https://secure.phabricator.com/D8733
This commit is contained in:
parent
dffbbaf0a6
commit
8b3eced0c7
1 changed files with 6 additions and 22 deletions
|
@ -57,33 +57,17 @@ final class ManiphestTaskEditController extends ManiphestController {
|
|||
if ($can_edit_projects) {
|
||||
$projects = $request->getStr('projects');
|
||||
if ($projects) {
|
||||
$tokens = explode(';', $projects);
|
||||
$tokens = $request->getStrList('projects');
|
||||
|
||||
$slug_map = id(new PhabricatorProjectQuery())
|
||||
->setViewer($user)
|
||||
->withPhrictionSlugs($tokens)
|
||||
->execute();
|
||||
foreach ($tokens as $key => $token) {
|
||||
$tokens[$key] = '#'.$token;
|
||||
}
|
||||
|
||||
$name_map = id(new PhabricatorProjectQuery())
|
||||
$default_projects = id(new PhabricatorObjectQuery())
|
||||
->setViewer($user)
|
||||
->withNames($tokens)
|
||||
->execute();
|
||||
|
||||
$phid_map = id(new PhabricatorProjectQuery())
|
||||
->setViewer($user)
|
||||
->withPHIDs($tokens)
|
||||
->execute();
|
||||
|
||||
$all_map = mpull($slug_map, null, 'getPhrictionSlug') +
|
||||
mpull($name_map, null, 'getName') +
|
||||
mpull($phid_map, null, 'getPHID');
|
||||
|
||||
$default_projects = array();
|
||||
foreach ($tokens as $token) {
|
||||
if (isset($all_map[$token])) {
|
||||
$default_projects[] = $all_map[$token]->getPHID();
|
||||
}
|
||||
}
|
||||
$default_projects = mpull($default_projects, 'getPHID');
|
||||
|
||||
if ($default_projects) {
|
||||
$task->setProjectPHIDs($default_projects);
|
||||
|
|
Loading…
Reference in a new issue