Changeset View
Changeset View
Standalone View
Standalone View
src/applications/maniphest/editor/ManiphestEditEngine.php
Show First 20 Lines • Show All 373 Lines • ▼ Show 20 Lines | private function getTaskPriorityMap(ManiphestTask $task) { | ||||
return $results; | return $results; | ||||
} | } | ||||
protected function newEditResponse( | protected function newEditResponse( | ||||
AphrontRequest $request, | AphrontRequest $request, | ||||
$object, | $object, | ||||
array $xactions) { | array $xactions) { | ||||
if ($request->isAjax()) { | $response_type = $request->getStr('responseType'); | ||||
$is_card = ($response_type === 'card'); | |||||
if ($is_card) { | |||||
// Reload the task to make sure we pick up the final task state. | // Reload the task to make sure we pick up the final task state. | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$task = id(new ManiphestTaskQuery()) | $task = id(new ManiphestTaskQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withIDs(array($object->getID())) | ->withIDs(array($object->getID())) | ||||
->needSubscriberPHIDs(true) | ->needSubscriberPHIDs(true) | ||||
->needProjectPHIDs(true) | ->needProjectPHIDs(true) | ||||
->executeOne(); | ->executeOne(); | ||||
switch ($request->getStr('responseType')) { | |||||
case 'card': | |||||
return $this->buildCardResponse($task); | return $this->buildCardResponse($task); | ||||
default: | |||||
return $this->buildListResponse($task); | |||||
} | |||||
} | } | ||||
return parent::newEditResponse($request, $object, $xactions); | return parent::newEditResponse($request, $object, $xactions); | ||||
} | } | ||||
private function buildListResponse(ManiphestTask $task) { | |||||
$controller = $this->getController(); | |||||
$payload = array( | |||||
'tasks' => $controller->renderSingleTask($task), | |||||
'data' => array(), | |||||
); | |||||
return id(new AphrontAjaxResponse())->setContent($payload); | |||||
} | |||||
private function buildCardResponse(ManiphestTask $task) { | private function buildCardResponse(ManiphestTask $task) { | ||||
$controller = $this->getController(); | $controller = $this->getController(); | ||||
$request = $controller->getRequest(); | $request = $controller->getRequest(); | ||||
$viewer = $request->getViewer(); | $viewer = $request->getViewer(); | ||||
$column_phid = $request->getStr('columnPHID'); | $column_phid = $request->getStr('columnPHID'); | ||||
$visible_phids = $request->getStrList('visiblePHIDs'); | $visible_phids = $request->getStrList('visiblePHIDs'); | ||||
if (!$visible_phids) { | if (!$visible_phids) { | ||||
$visible_phids = array(); | $visible_phids = array(); | ||||
} | } | ||||
$column = id(new PhabricatorProjectColumnQuery()) | $column = id(new PhabricatorProjectColumnQuery()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->withPHIDs(array($column_phid)) | ->withPHIDs(array($column_phid)) | ||||
->executeOne(); | ->executeOne(); | ||||
if (!$column) { | if (!$column) { | ||||
return new Aphront404Response(); | return new Aphront404Response(); | ||||
} | } | ||||
$board_phid = $column->getProjectPHID(); | $board_phid = $column->getProjectPHID(); | ||||
$object_phid = $task->getPHID(); | $object_phid = $task->getPHID(); | ||||
return id(new PhabricatorBoardResponseEngine()) | $order = $request->getStr('order'); | ||||
if ($order) { | |||||
$ordering = PhabricatorProjectColumnOrder::getOrderByKey($order); | |||||
$ordering = id(clone $ordering) | |||||
->setViewer($viewer); | |||||
} else { | |||||
$ordering = null; | |||||
} | |||||
$engine = id(new PhabricatorBoardResponseEngine()) | |||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->setBoardPHID($board_phid) | ->setBoardPHID($board_phid) | ||||
->setObjectPHID($object_phid) | ->setObjectPHID($object_phid) | ||||
->setVisiblePHIDs($visible_phids) | ->setVisiblePHIDs($visible_phids); | ||||
->buildResponse(); | |||||
if ($ordering) { | |||||
$engine->setOrdering($ordering); | |||||
} | |||||
return $engine->buildResponse(); | |||||
} | } | ||||
private function getColumnMap(ManiphestTask $task) { | private function getColumnMap(ManiphestTask $task) { | ||||
$phid = $task->getPHID(); | $phid = $task->getPHID(); | ||||
if (!$phid) { | if (!$phid) { | ||||
return array(); | return array(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 78 Lines • Show Last 20 Lines |