Differential D14435 Diff 34882 src/applications/maniphest/controller/ManiphestTaskEditController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/maniphest/controller/ManiphestTaskEditController.php
Show First 20 Lines • Show All 365 Lines • ▼ Show 20 Lines | if ($request->isFormPost()) { | ||||
case 'card': | case 'card': | ||||
$owner = null; | $owner = null; | ||||
if ($task->getOwnerPHID()) { | if ($task->getOwnerPHID()) { | ||||
$owner = id(new PhabricatorHandleQuery()) | $owner = id(new PhabricatorHandleQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withPHIDs(array($task->getOwnerPHID())) | ->withPHIDs(array($task->getOwnerPHID())) | ||||
->executeOne(); | ->executeOne(); | ||||
} | } | ||||
$tasks = id(new ProjectBoardTaskCard()) | |||||
->setViewer($viewer) | |||||
->setTask($task) | |||||
->setOwner($owner) | |||||
->setCanEdit(true) | |||||
->getItem(); | |||||
$column = id(new PhabricatorProjectColumnQuery()) | $column = id(new PhabricatorProjectColumnQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withPHIDs(array($request->getStr('columnPHID'))) | ->withPHIDs(array($request->getStr('columnPHID'))) | ||||
->executeOne(); | ->executeOne(); | ||||
if (!$column) { | if (!$column) { | ||||
return new Aphront404Response(); | return new Aphront404Response(); | ||||
} | } | ||||
// re-load projects for accuracy as they are not re-loaded via | // re-load projects for accuracy as they are not re-loaded via | ||||
// the editor | // the editor | ||||
$project_phids = PhabricatorEdgeQuery::loadDestinationPHIDs( | $project_phids = PhabricatorEdgeQuery::loadDestinationPHIDs( | ||||
$task->getPHID(), | $task->getPHID(), | ||||
PhabricatorProjectObjectHasProjectEdgeType::EDGECONST); | PhabricatorProjectObjectHasProjectEdgeType::EDGECONST); | ||||
$task->attachProjectPHIDs($project_phids); | $task->attachProjectPHIDs($project_phids); | ||||
$remove_from_board = false; | $remove_from_board = false; | ||||
if (!in_array($column->getProjectPHID(), $project_phids)) { | if (!in_array($column->getProjectPHID(), $project_phids)) { | ||||
$remove_from_board = true; | $remove_from_board = true; | ||||
} | } | ||||
$handles = ManiphestTaskListView::loadTaskHandles( | |||||
$viewer, array($task)); | |||||
$tasks = id(new ProjectBoardTaskCard()) | |||||
->setViewer($viewer) | |||||
->setTask($task) | |||||
->setOwner($owner) | |||||
->setProject($column->getProject()) | |||||
->setCanEdit(true) | |||||
->setHandles($handles) | |||||
->getItem(); | |||||
$positions = id(new PhabricatorProjectColumnPositionQuery()) | $positions = id(new PhabricatorProjectColumnPositionQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withColumns(array($column)) | ->withColumns(array($column)) | ||||
->execute(); | ->execute(); | ||||
$task_phids = mpull($positions, 'getObjectPHID'); | $task_phids = mpull($positions, 'getObjectPHID'); | ||||
$column_tasks = id(new ManiphestTaskQuery()) | $column_tasks = id(new ManiphestTaskQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
▲ Show 20 Lines • Show All 349 Lines • Show Last 20 Lines |