Summary:
Ref T13216. I want to add some new management options to repositories (e.g., filesize limit, clone timeouts). Before adding new stuff here, update the UI to a full-width, Phortune-style UI.
This partially reverts D18523. About a year ago, several UIs got converted to fixed-width (repository management, config, settings, instance management in SAAS). I didn't think these were good changes and have never really gotten used to them. The rationale wasn't clear to me and these changes just felt like "be more like GitHub". I think usability is significantly worse, e.g. actions are now hidden inside button menus instead of immediately visible.
Phortune also got converted less dramatically to a full-width-with-menu UI, which I like much better. Adjust repository management to use that UI style instead of the fixed-width style.
Test Plan:
{F6020884}
Viewed every panel, including the Subversion panel.
Reviewers: amckinley
Reviewed By: amckinley
Maniphest Tasks: T13216
Differential Revision: https://secure.phabricator.com/D19826
87 lines
2.1 KiB
PHP
87 lines
2.1 KiB
PHP
<?php
|
|
|
|
final class DiffusionRepositoryActionsManagementPanel
|
|
extends DiffusionRepositoryManagementPanel {
|
|
|
|
const PANELKEY = 'actions';
|
|
|
|
public function getManagementPanelLabel() {
|
|
return pht('Actions');
|
|
}
|
|
|
|
public function getManagementPanelOrder() {
|
|
return 1100;
|
|
}
|
|
|
|
public function getManagementPanelIcon() {
|
|
$repository = $this->getRepository();
|
|
|
|
$has_any =
|
|
$repository->getDetail('herald-disabled') ||
|
|
$repository->getDetail('disable-autoclose');
|
|
|
|
// NOTE: Any value here really means something is disabled, so try to
|
|
// hint that a little bit with the icon.
|
|
|
|
if ($has_any) {
|
|
return 'fa-flash';
|
|
} else {
|
|
return 'fa-flash grey';
|
|
}
|
|
}
|
|
|
|
protected function getEditEngineFieldKeys() {
|
|
return array(
|
|
'publish',
|
|
'autoclose',
|
|
);
|
|
}
|
|
|
|
public function buildManagementPanelCurtain() {
|
|
$repository = $this->getRepository();
|
|
$viewer = $this->getViewer();
|
|
$action_list = $this->newActionList();
|
|
|
|
$can_edit = PhabricatorPolicyFilter::hasCapability(
|
|
$viewer,
|
|
$repository,
|
|
PhabricatorPolicyCapability::CAN_EDIT);
|
|
|
|
$actions_uri = $this->getEditPageURI();
|
|
|
|
$action_list->addAction(
|
|
id(new PhabricatorActionView())
|
|
->setIcon('fa-pencil')
|
|
->setName(pht('Edit Actions'))
|
|
->setHref($actions_uri)
|
|
->setDisabled(!$can_edit)
|
|
->setWorkflow(!$can_edit));
|
|
|
|
return $this->newCurtainView()
|
|
->setActionList($action_list);
|
|
}
|
|
|
|
public function buildManagementPanelContent() {
|
|
$repository = $this->getRepository();
|
|
$viewer = $this->getViewer();
|
|
|
|
$view = id(new PHUIPropertyListView())
|
|
->setViewer($viewer);
|
|
|
|
$notify = $repository->getDetail('herald-disabled')
|
|
? pht('Off')
|
|
: pht('On');
|
|
$notify = phutil_tag('em', array(), $notify);
|
|
$view->addProperty(pht('Publish/Notify'), $notify);
|
|
|
|
$autoclose = $repository->getDetail('disable-autoclose')
|
|
? pht('Off')
|
|
: pht('On');
|
|
$autoclose = phutil_tag('em', array(), $autoclose);
|
|
$view->addProperty(pht('Autoclose'), $autoclose);
|
|
|
|
return $this->newBox(pht('Actions'), $view);
|
|
}
|
|
|
|
}
|