Differential D20627 Diff 49216 src/applications/project/controller/PhabricatorProjectBoardViewController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/controller/PhabricatorProjectBoardViewController.php
<?php | <?php | ||||
final class PhabricatorProjectBoardViewController | final class PhabricatorProjectBoardViewController | ||||
extends PhabricatorProjectBoardController { | extends PhabricatorProjectBoardController { | ||||
const BATCH_EDIT_ALL = 'all'; | const BATCH_EDIT_ALL = 'all'; | ||||
private $id; | |||||
private $queryKey; | private $queryKey; | ||||
private $sortKey; | private $sortKey; | ||||
private $showHidden; | private $showHidden; | ||||
public function shouldAllowPublic() { | public function shouldAllowPublic() { | ||||
return true; | return true; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 262 Lines • ▼ Show 20 Lines | if ($batch_edit) { | ||||
$saved_query = $search_engine->newSavedQuery(); | $saved_query = $search_engine->newSavedQuery(); | ||||
$saved_query->setParameter('ids', mpull($batch_tasks, 'getID')); | $saved_query->setParameter('ids', mpull($batch_tasks, 'getID')); | ||||
$search_engine->saveQuery($saved_query); | $search_engine->saveQuery($saved_query); | ||||
$query_key = $saved_query->getQueryKey(); | $query_key = $saved_query->getQueryKey(); | ||||
$bulk_uri = new PhutilURI("/maniphest/bulk/query/{$query_key}/"); | $bulk_uri = new PhutilURI("/maniphest/bulk/query/{$query_key}/"); | ||||
$bulk_uri->replaceQueryParam('board', $this->id); | $bulk_uri->replaceQueryParam('board', $project->getID()); | ||||
return id(new AphrontRedirectResponse()) | return id(new AphrontRedirectResponse()) | ||||
->setURI($bulk_uri); | ->setURI($bulk_uri); | ||||
} | } | ||||
$move_id = $request->getStr('move'); | $move_id = $request->getStr('move'); | ||||
if (strlen($move_id)) { | if (strlen($move_id)) { | ||||
$column_id_map = mpull($columns, null, 'getID'); | $column_id_map = mpull($columns, null, 'getID'); | ||||
▲ Show 20 Lines • Show All 480 Lines • ▼ Show 20 Lines | public function handleRequest(AphrontRequest $request) { | ||||
return $page; | return $page; | ||||
} | } | ||||
private function readRequestState() { | private function readRequestState() { | ||||
$request = $this->getRequest(); | $request = $this->getRequest(); | ||||
$project = $this->getProject(); | $project = $this->getProject(); | ||||
$this->showHidden = $request->getBool('hidden'); | $this->showHidden = $request->getBool('hidden'); | ||||
$this->id = $project->getID(); | |||||
$sort_key = $this->getDefaultSort($project); | $sort_key = $this->getDefaultSort($project); | ||||
$request_sort = $request->getStr('order'); | $request_sort = $request->getStr('order'); | ||||
if ($this->isValidSort($request_sort)) { | if ($this->isValidSort($request_sort)) { | ||||
$sort_key = $request_sort; | $sort_key = $request_sort; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 133 Lines • ▼ Show 20 Lines | foreach ($named as $key => $name) { | ||||
$item = id(new PhabricatorActionView()) | $item = id(new PhabricatorActionView()) | ||||
->setIcon('fa-search') | ->setIcon('fa-search') | ||||
->setSelected($is_selected) | ->setSelected($is_selected) | ||||
->setName($name); | ->setName($name); | ||||
if ($is_custom) { | if ($is_custom) { | ||||
$uri = $this->getApplicationURI( | $uri = $this->getApplicationURI( | ||||
'board/'.$this->id.'/filter/query/'.$key.'/'); | 'board/'.$project->getID().'/filter/query/'.$key.'/'); | ||||
$item->setWorkflow(true); | $item->setWorkflow(true); | ||||
} else { | } else { | ||||
$uri = $engine->getQueryResultsPageURI($key); | $uri = $engine->getQueryResultsPageURI($key); | ||||
} | } | ||||
$uri = $this->getURIWithState($uri) | $uri = $this->getURIWithState($uri) | ||||
->removeQueryParam('filter'); | ->removeQueryParam('filter'); | ||||
$item->setHref($uri); | $item->setHref($uri); | ||||
▲ Show 20 Lines • Show All 231 Lines • ▼ Show 20 Lines | private function buildColumnMenu( | ||||
$query_uri = $request->getRequestURI(); | $query_uri = $request->getRequestURI(); | ||||
$query_uri->replaceQueryParam('queryColumnID', $column->getID()); | $query_uri->replaceQueryParam('queryColumnID', $column->getID()); | ||||
$column_items[] = id(new PhabricatorActionView()) | $column_items[] = id(new PhabricatorActionView()) | ||||
->setName(pht('View as Query')) | ->setName(pht('View as Query')) | ||||
->setIcon('fa-search') | ->setIcon('fa-search') | ||||
->setHref($query_uri); | ->setHref($query_uri); | ||||
$edit_uri = 'board/'.$this->id.'/edit/'.$column->getID().'/'; | $edit_uri = 'board/'.$project->getID().'/edit/'.$column->getID().'/'; | ||||
$column_items[] = id(new PhabricatorActionView()) | $column_items[] = id(new PhabricatorActionView()) | ||||
->setName(pht('Edit Column')) | ->setName(pht('Edit Column')) | ||||
->setIcon('fa-pencil') | ->setIcon('fa-pencil') | ||||
->setHref($this->getApplicationURI($edit_uri)) | ->setHref($this->getApplicationURI($edit_uri)) | ||||
->setDisabled(!$can_edit) | ->setDisabled(!$can_edit) | ||||
->setWorkflow(true); | ->setWorkflow(true); | ||||
$can_hide = ($can_edit && !$column->isDefaultColumn()); | $can_hide = ($can_edit && !$column->isDefaultColumn()); | ||||
$hide_uri = 'board/'.$this->id.'/hide/'.$column->getID().'/'; | $hide_uri = 'board/'.$project->getID().'/hide/'.$column->getID().'/'; | ||||
$hide_uri = $this->getApplicationURI($hide_uri); | $hide_uri = $this->getApplicationURI($hide_uri); | ||||
$hide_uri = $this->getURIWithState($hide_uri); | $hide_uri = $this->getURIWithState($hide_uri); | ||||
if (!$column->isHidden()) { | if (!$column->isHidden()) { | ||||
$column_items[] = id(new PhabricatorActionView()) | $column_items[] = id(new PhabricatorActionView()) | ||||
->setName(pht('Hide Column')) | ->setName(pht('Hide Column')) | ||||
->setIcon('fa-eye-slash') | ->setIcon('fa-eye-slash') | ||||
->setHref($hide_uri) | ->setHref($hide_uri) | ||||
▲ Show 20 Lines • Show All 315 Lines • Show Last 20 Lines |