/src/applications/transactions/controller/PhabricatorEditEngineConfigurationListController.php
PHP | 75 lines | 57 code | 18 blank | 0 comment | 1 complexity | a5c88289d40189de4fa647e07ebd21fd MD5 | raw file
Possible License(s): JSON, MPL-2.0-no-copyleft-exception, Apache-2.0, BSD-3-Clause, LGPL-2.0, MIT, LGPL-2.1, LGPL-3.0
- <?php
- final class PhabricatorEditEngineConfigurationListController
- extends PhabricatorEditEngineController {
- public function shouldAllowPublic() {
- return true;
- }
- public function handleRequest(AphrontRequest $request) {
- $viewer = $this->getViewer();
- $engine_key = $request->getURIData('engineKey');
- $this->setEngineKey($engine_key);
- $engine = PhabricatorEditEngine::getByKey($viewer, $engine_key)
- ->setViewer($viewer);
- if (!$engine->isEngineConfigurable()) {
- return new Aphront404Response();
- }
- $items = array();
- $items[] = id(new PHUIListItemView())
- ->setType(PHUIListItemView::TYPE_LABEL)
- ->setName(pht('Form Order'));
- $sort_create_uri = "/transactions/editengine/{$engine_key}/sort/create/";
- $sort_edit_uri = "/transactions/editengine/{$engine_key}/sort/edit/";
- $builtins = $engine->getBuiltinEngineConfigurations();
- $builtin = head($builtins);
- $can_sort = PhabricatorPolicyFilter::hasCapability(
- $viewer,
- $builtin,
- PhabricatorPolicyCapability::CAN_EDIT);
- $items[] = id(new PHUIListItemView())
- ->setType(PHUIListItemView::TYPE_LINK)
- ->setName(pht('Reorder Create Forms'))
- ->setHref($sort_create_uri)
- ->setWorkflow(true)
- ->setDisabled(!$can_sort);
- $items[] = id(new PHUIListItemView())
- ->setType(PHUIListItemView::TYPE_LINK)
- ->setName(pht('Reorder Edit Forms'))
- ->setHref($sort_edit_uri)
- ->setWorkflow(true)
- ->setDisabled(!$can_sort);
- return id(new PhabricatorEditEngineConfigurationSearchEngine())
- ->setController($this)
- ->setEngineKey($this->getEngineKey())
- ->setNavigationItems($items)
- ->buildResponse();
- }
- protected function buildApplicationCrumbs() {
- $viewer = $this->getViewer();
- $crumbs = parent::buildApplicationCrumbs();
- $target_key = $this->getEngineKey();
- $target_engine = PhabricatorEditEngine::getByKey($viewer, $target_key);
- id(new PhabricatorEditEngineConfigurationEditEngine())
- ->setTargetEngine($target_engine)
- ->setViewer($viewer)
- ->addActionToCrumbs($crumbs);
- return $crumbs;
- }
- }