Differential D20299 Diff 48497 src/applications/project/controller/PhabricatorProjectBoardViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/controller/PhabricatorProjectBoardViewController.php
| Show First 20 Lines • Show All 534 Lines • ▼ Show 20 Lines | public function handleRequest(AphrontRequest $request) { | ||||
| $rendering_engine = id(new PhabricatorBoardRenderingEngine()) | $rendering_engine = id(new PhabricatorBoardRenderingEngine()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->setObjects(array_select_keys($tasks, $visible_phids)) | ->setObjects(array_select_keys($tasks, $visible_phids)) | ||||
| ->setEditMap($task_can_edit_map) | ->setEditMap($task_can_edit_map) | ||||
| ->setExcludedProjectPHIDs($select_phids); | ->setExcludedProjectPHIDs($select_phids); | ||||
| $templates = array(); | $templates = array(); | ||||
| $column_maps = array(); | |||||
| $all_tasks = array(); | $all_tasks = array(); | ||||
| $column_templates = array(); | |||||
| foreach ($visible_columns as $column_phid => $column) { | foreach ($visible_columns as $column_phid => $column) { | ||||
| $column_tasks = $column_phids[$column_phid]; | $column_tasks = $column_phids[$column_phid]; | ||||
| $panel = id(new PHUIWorkpanelView()) | $panel = id(new PHUIWorkpanelView()) | ||||
| ->setHeader($column->getDisplayName()) | ->setHeader($column->getDisplayName()) | ||||
| ->setSubHeader($column->getDisplayType()) | ->setSubHeader($column->getDisplayType()) | ||||
| ->addSigil('workpanel'); | ->addSigil('workpanel'); | ||||
| ▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | foreach ($visible_columns as $column_phid => $column) { | ||||
| ->addSigil('project-column') | ->addSigil('project-column') | ||||
| ->setItemClass('phui-workcard') | ->setItemClass('phui-workcard') | ||||
| ->setMetadata( | ->setMetadata( | ||||
| array( | array( | ||||
| 'columnPHID' => $column->getPHID(), | 'columnPHID' => $column->getPHID(), | ||||
| 'pointLimit' => $column->getPointLimit(), | 'pointLimit' => $column->getPointLimit(), | ||||
| )); | )); | ||||
| $card_phids = array(); | |||||
| foreach ($column_tasks as $task) { | foreach ($column_tasks as $task) { | ||||
| $object_phid = $task->getPHID(); | $object_phid = $task->getPHID(); | ||||
| $card = $rendering_engine->renderCard($object_phid); | $card = $rendering_engine->renderCard($object_phid); | ||||
| $templates[$object_phid] = hsprintf('%s', $card->getItem()); | $templates[$object_phid] = hsprintf('%s', $card->getItem()); | ||||
| $column_maps[$column_phid][] = $object_phid; | $card_phids[] = $object_phid; | ||||
| $all_tasks[$object_phid] = $task; | $all_tasks[$object_phid] = $task; | ||||
| } | } | ||||
| $panel->setCards($cards); | $panel->setCards($cards); | ||||
| $board->addPanel($panel); | $board->addPanel($panel); | ||||
| $drop_effects = $column->getDropEffects(); | |||||
| $drop_effects = mpull($drop_effects, 'toDictionary'); | |||||
| $column_templates[] = array( | |||||
| 'columnPHID' => $column_phid, | |||||
| 'effects' => $drop_effects, | |||||
| 'cardPHIDs' => $card_phids, | |||||
| ); | |||||
| } | } | ||||
| $order_key = $this->sortKey; | $order_key = $this->sortKey; | ||||
| $ordering_map = PhabricatorProjectColumnOrder::getEnabledOrders(); | $ordering_map = PhabricatorProjectColumnOrder::getEnabledOrders(); | ||||
| $ordering = id(clone $ordering_map[$order_key]) | $ordering = id(clone $ordering_map[$order_key]) | ||||
| ->setViewer($viewer); | ->setViewer($viewer); | ||||
| Show All 27 Lines | $behavior_config = array( | ||||
| 'pointsEnabled' => ManiphestTaskPoints::getIsEnabled(), | 'pointsEnabled' => ManiphestTaskPoints::getIsEnabled(), | ||||
| 'boardPHID' => $project->getPHID(), | 'boardPHID' => $project->getPHID(), | ||||
| 'order' => $this->sortKey, | 'order' => $this->sortKey, | ||||
| 'orders' => $order_maps, | 'orders' => $order_maps, | ||||
| 'headers' => $headers, | 'headers' => $headers, | ||||
| 'headerKeys' => $header_keys, | 'headerKeys' => $header_keys, | ||||
| 'templateMap' => $templates, | 'templateMap' => $templates, | ||||
| 'columnMaps' => $column_maps, | |||||
| 'orderMaps' => $vector_map, | 'orderMaps' => $vector_map, | ||||
| 'propertyMaps' => $properties, | 'propertyMaps' => $properties, | ||||
| 'columnTemplates' => $column_templates, | |||||
| 'boardID' => $board_id, | 'boardID' => $board_id, | ||||
| 'projectPHID' => $project->getPHID(), | 'projectPHID' => $project->getPHID(), | ||||
| ); | ); | ||||
| $this->initBehavior('project-boards', $behavior_config); | $this->initBehavior('project-boards', $behavior_config); | ||||
| $sort_menu = $this->buildSortMenu( | $sort_menu = $this->buildSortMenu( | ||||
| $viewer, | $viewer, | ||||
| ▲ Show 20 Lines • Show All 820 Lines • Show Last 20 Lines | |||||