private function buildCurtainView(PhabricatorDashboardPanel $panel) { $viewer = $this->getViewer(); $id = $panel->getID(); $curtain = $this->newCurtainView($panel); $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $panel, PhabricatorPolicyCapability::CAN_EDIT); $curtain->addAction(id(new PhabricatorActionView())->setName(pht('Edit Panel'))->setIcon('fa-pencil')->setHref($this->getApplicationURI("panel/edit/{$id}/"))->setDisabled(!$can_edit)->setWorkflow(!$can_edit)); if (!$panel->getIsArchived()) { $archive_text = pht('Archive Panel'); $archive_icon = 'fa-ban'; } else { $archive_text = pht('Activate Panel'); $archive_icon = 'fa-check'; } $curtain->addAction(id(new PhabricatorActionView())->setName($archive_text)->setIcon($archive_icon)->setHref($this->getApplicationURI("panel/archive/{$id}/"))->setDisabled(!$can_edit)->setWorkflow(true)); return $curtain; }
private function buildActionView(PhabricatorDashboardPanel $panel) { $viewer = $this->getRequest()->getUser(); $id = $panel->getID(); $actions = id(new PhabricatorActionListView())->setObjectURI('/' . $panel->getMonogram())->setUser($viewer); $can_edit = PhabricatorPolicyFilter::hasCapability($viewer, $panel, PhabricatorPolicyCapability::CAN_EDIT); $actions->addAction(id(new PhabricatorActionView())->setName(pht('Edit Panel'))->setIcon('fa-pencil')->setHref($this->getApplicationURI("panel/edit/{$id}/"))->setDisabled(!$can_edit)->setWorkflow(!$can_edit)); if (!$panel->getIsArchived()) { $archive_text = pht('Archive Panel'); $archive_icon = 'fa-ban'; } else { $archive_text = pht('Activate Panel'); $archive_icon = 'fa-check'; } $actions->addAction(id(new PhabricatorActionView())->setName($archive_text)->setIcon($archive_icon)->setHref($this->getApplicationURI("panel/archive/{$id}/"))->setDisabled(!$can_edit)->setWorkflow(true)); $actions->addAction(id(new PhabricatorActionView())->setName(pht('View Standalone'))->setIcon('fa-eye')->setHref($this->getApplicationURI("panel/render/{$id}/"))); return $actions; }