Differential D11000 Diff 26414 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 233 Lines • ▼ Show 20 Lines | foreach ($columns as $column) { | ||||
if ($header_icon) { | if ($header_icon) { | ||||
$panel->setHeaderIcon($header_icon); | $panel->setHeaderIcon($header_icon); | ||||
} | } | ||||
if ($column->isHidden()) { | if ($column->isHidden()) { | ||||
$panel->addClass('project-panel-hidden'); | $panel->addClass('project-panel-hidden'); | ||||
} | } | ||||
$column_menu = $this->buildColumnMenu($project, $column); | $column_menu = $this->buildColumnMenu($project, $column, $column_tasks); | ||||
$panel->addHeaderAction($column_menu); | $panel->addHeaderAction($column_menu); | ||||
$tag_id = celerity_generate_unique_node_id(); | $tag_id = celerity_generate_unique_node_id(); | ||||
$tag_content_id = celerity_generate_unique_node_id(); | $tag_content_id = celerity_generate_unique_node_id(); | ||||
$count_tag = id(new PHUITagView()) | $count_tag = id(new PHUITagView()) | ||||
->setType(PHUITagView::TYPE_SHADE) | ->setType(PHUITagView::TYPE_SHADE) | ||||
->setShade(PHUITagView::COLOR_BLUE) | ->setShade(PHUITagView::COLOR_BLUE) | ||||
▲ Show 20 Lines • Show All 277 Lines • ▼ Show 20 Lines | $manage_button = id(new PHUIButtonView()) | ||||
'items' => hsprintf('%s', $manage_menu), | 'items' => hsprintf('%s', $manage_menu), | ||||
)); | )); | ||||
return $manage_button; | return $manage_button; | ||||
} | } | ||||
private function buildColumnMenu( | private function buildColumnMenu( | ||||
PhabricatorProject $project, | PhabricatorProject $project, | ||||
PhabricatorProjectColumn $column) { | PhabricatorProjectColumn $column, | ||||
$column_tasks) { | |||||
$request = $this->getRequest(); | $request = $this->getRequest(); | ||||
$viewer = $request->getUser(); | $viewer = $request->getUser(); | ||||
$can_edit = PhabricatorPolicyFilter::hasCapability( | $can_edit = PhabricatorPolicyFilter::hasCapability( | ||||
$viewer, | $viewer, | ||||
$project, | $project, | ||||
PhabricatorPolicyCapability::CAN_EDIT); | PhabricatorPolicyCapability::CAN_EDIT); | ||||
Show All 37 Lines | if (!$column->isHidden()) { | ||||
$column_items[] = id(new PhabricatorActionView()) | $column_items[] = id(new PhabricatorActionView()) | ||||
->setName(pht('Show Column')) | ->setName(pht('Show Column')) | ||||
->setIcon('fa-eye') | ->setIcon('fa-eye') | ||||
->setHref($hide_uri) | ->setHref($hide_uri) | ||||
->setDisabled(!$can_hide) | ->setDisabled(!$can_hide) | ||||
->setWorkflow(true); | ->setWorkflow(true); | ||||
} | } | ||||
$task_ids = mpull($column_tasks, 'getID'); | |||||
if ($task_ids) { | |||||
$batch_edit_uri = id(new PhabricatorManiphestApplication()) | |||||
->getApplicationURI('/batch/?batch[]='.implode('&batch[]=', $task_ids)); | |||||
$column_items[] = id(new PhabricatorActionView()) | |||||
->setIcon('fa-pencil') | |||||
->setName(pht('Batch Edit Tasks')) | |||||
->setHref($batch_edit_uri) | |||||
->setDisabled(!$can_edit) | |||||
->setWorkflow(!$can_edit); | |||||
} | |||||
$column_menu = id(new PhabricatorActionListView()) | $column_menu = id(new PhabricatorActionListView()) | ||||
->setUser($viewer); | ->setUser($viewer); | ||||
foreach ($column_items as $item) { | foreach ($column_items as $item) { | ||||
$column_menu->addAction($item); | $column_menu->addAction($item); | ||||
} | } | ||||
$column_button = id(new PHUIIconView()) | $column_button = id(new PHUIIconView()) | ||||
->setIconFont('fa-caret-down') | ->setIconFont('fa-caret-down') | ||||
▲ Show 20 Lines • Show All 68 Lines • Show Last 20 Lines |