Differential D15234 Diff 36774 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 232 Lines • ▼ Show 20 Lines | $board = id(new PHUIWorkboardView()) | ||||
| ->setUser($viewer) | ->setUser($viewer) | ||||
| ->setID($board_id) | ->setID($board_id) | ||||
| ->addSigil('jx-workboard') | ->addSigil('jx-workboard') | ||||
| ->setMetadata( | ->setMetadata( | ||||
| array( | array( | ||||
| 'boardPHID' => $project->getPHID(), | 'boardPHID' => $project->getPHID(), | ||||
| )); | )); | ||||
| $behavior_config = array( | |||||
| 'boardID' => $board_id, | |||||
| 'projectPHID' => $project->getPHID(), | |||||
| 'moveURI' => $this->getApplicationURI('move/'.$project->getID().'/'), | |||||
| 'createURI' => $this->getCreateURI(), | |||||
| 'uploadURI' => '/file/dropupload/', | |||||
| 'coverURI' => $this->getApplicationURI('cover/'), | |||||
| 'chunkThreshold' => PhabricatorFileStorageEngine::getChunkThreshold(), | |||||
| 'order' => $this->sortKey, | |||||
| ); | |||||
| $this->initBehavior( | |||||
| 'project-boards', | |||||
| $behavior_config); | |||||
| $visible_columns = array(); | $visible_columns = array(); | ||||
| $column_phids = array(); | $column_phids = array(); | ||||
| $visible_phids = array(); | $visible_phids = array(); | ||||
| foreach ($columns as $column) { | foreach ($columns as $column) { | ||||
| if (!$this->showHidden) { | if (!$this->showHidden) { | ||||
| if ($column->isHidden()) { | if ($column->isHidden()) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| Show All 29 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(); | |||||
| $column_maps = array(); | |||||
| $all_tasks = 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 43 Lines • ▼ Show 20 Lines | foreach ($visible_columns as $column_phid => $column) { | ||||
| array( | array( | ||||
| 'columnPHID' => $column->getPHID(), | 'columnPHID' => $column->getPHID(), | ||||
| 'countTagID' => $tag_id, | 'countTagID' => $tag_id, | ||||
| 'countTagContentID' => $tag_content_id, | 'countTagContentID' => $tag_content_id, | ||||
| 'pointLimit' => $column->getPointLimit(), | 'pointLimit' => $column->getPointLimit(), | ||||
| )); | )); | ||||
| foreach ($column_tasks as $task) { | foreach ($column_tasks as $task) { | ||||
| $card = $rendering_engine->renderCard($task->getPHID()); | $object_phid = $task->getPHID(); | ||||
| $cards->addItem($card->getItem()); | |||||
| $card = $rendering_engine->renderCard($object_phid); | |||||
| $templates[$object_phid] = hsprintf('%s', $card->getItem()); | |||||
| $column_maps[$column_phid][] = $object_phid; | |||||
| $all_tasks[$object_phid] = $task; | |||||
| } | } | ||||
| $panel->setCards($cards); | $panel->setCards($cards); | ||||
| $board->addPanel($panel); | $board->addPanel($panel); | ||||
| } | } | ||||
| $behavior_config = array( | |||||
| 'boardID' => $board_id, | |||||
| 'projectPHID' => $project->getPHID(), | |||||
| 'moveURI' => $this->getApplicationURI('move/'.$project->getID().'/'), | |||||
| 'createURI' => $this->getCreateURI(), | |||||
| 'uploadURI' => '/file/dropupload/', | |||||
| 'coverURI' => $this->getApplicationURI('cover/'), | |||||
| 'chunkThreshold' => PhabricatorFileStorageEngine::getChunkThreshold(), | |||||
| 'order' => $this->sortKey, | |||||
| 'templateMap' => $templates, | |||||
| 'columnMaps' => $column_maps, | |||||
| 'orderMaps' => mpull($all_tasks, 'getWorkboardOrderVectors'), | |||||
| ); | |||||
| $this->initBehavior('project-boards', $behavior_config); | |||||
| $sort_menu = $this->buildSortMenu( | $sort_menu = $this->buildSortMenu( | ||||
| $viewer, | $viewer, | ||||
| $this->sortKey); | $this->sortKey); | ||||
| $filter_menu = $this->buildFilterMenu( | $filter_menu = $this->buildFilterMenu( | ||||
| $viewer, | $viewer, | ||||
| $custom_query, | $custom_query, | ||||
| $search_engine, | $search_engine, | ||||
| ▲ Show 20 Lines • Show All 598 Lines • Show Last 20 Lines | |||||