1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-24 14:30:56 +01:00

Provide some more context hints for repository URIs

Summary: Ref T10923. This provides a little guidance about hosted vs observed, and points at the `diffusion.ssh-*` options.

Test Plan: Poked around in the web UI, saw useful guidance.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10923

Differential Revision: https://secure.phabricator.com/D15872
This commit is contained in:
epriestley 2016-05-09 15:36:13 -07:00
parent 3328e78a7b
commit 98b202042e
4 changed files with 54 additions and 2 deletions

View file

@ -83,9 +83,25 @@ final class DiffusionURIEditEngine
protected function buildCustomEditFields($object) { protected function buildCustomEditFields($object) {
$viewer = $this->getViewer(); $viewer = $this->getViewer();
$uri_instructions = null;
if ($object->isBuiltin()) { if ($object->isBuiltin()) {
$is_builtin = true; $is_builtin = true;
$uri_value = (string)$object->getDisplayURI(); $uri_value = (string)$object->getDisplayURI();
switch ($object->getBuiltinProtocol()) {
case PhabricatorRepositoryURI::BUILTIN_PROTOCOL_SSH:
$uri_instructions = pht(
" - Configure [[ %s | %s ]] to change the SSH username.\n".
" - Configure [[ %s | %s ]] to change the SSH host.\n".
" - Configure [[ %s | %s ]] to change the SSH port.",
'/config/edit/diffusion.ssh-user/',
'diffusion.ssh-user',
'/config/edit/diffusion.ssh-host/',
'diffusion.ssh-host',
'/config/edit/diffusion.ssh-port/',
'diffusion.ssh-port');
break;
}
} else { } else {
$is_builtin = false; $is_builtin = false;
$uri_value = $object->getURI(); $uri_value = $object->getURI();
@ -118,7 +134,8 @@ final class DiffusionURIEditEngine
->setConduitTypeDescription(pht('New repository URI.')) ->setConduitTypeDescription(pht('New repository URI.'))
->setIsRequired(!$is_builtin) ->setIsRequired(!$is_builtin)
->setIsLocked($is_builtin) ->setIsLocked($is_builtin)
->setValue($uri_value), ->setValue($uri_value)
->setControlInstructions($uri_instructions),
id(new PhabricatorSelectEditField()) id(new PhabricatorSelectEditField())
->setKey('io') ->setKey('io')
->setLabel(pht('I/O Type')) ->setLabel(pht('I/O Type'))

View file

@ -14,7 +14,7 @@ final class DiffusionRepositoryDocumentationManagementPanel
} }
public function getManagementPanelIcon() { public function getManagementPanelIcon() {
return 'fa-book bluegrey'; return 'fa-book';
} }
public function buildManagementPanelContent() { public function buildManagementPanelContent() {

View file

@ -113,8 +113,28 @@ final class DiffusionRepositoryURIsManagementPanel
->setTag('a') ->setTag('a')
->setText(pht('Documentation'))); ->setText(pht('Documentation')));
$messages = array();
if ($repository->isHosted()) {
$messages[] = array(
id(new PHUIIconView())->setIcon('fa-folder'),
' ',
pht('Phabricator is hosting this repository.'),
);
} else {
$messages[] = array(
id(new PHUIIconView())->setIcon('fa-download'),
' ',
pht('This repository is hosted remotely. Phabricator is observing it.'),
);
}
$info_view = id(new PHUIInfoView())
->setSeverity(PHUIInfoView::SEVERITY_NOTICE)
->setErrors($messages);
return id(new PHUIObjectBoxView()) return id(new PHUIObjectBoxView())
->setHeader($header) ->setHeader($header)
->setInfoView($info_view)
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)
->setTable($table); ->setTable($table);
} }

View file

@ -16,6 +16,7 @@ abstract class PhabricatorEditField extends Phobject {
private $isRequired; private $isRequired;
private $previewPanel; private $previewPanel;
private $controlID; private $controlID;
private $controlInstructions;
private $description; private $description;
private $conduitDescription; private $conduitDescription;
@ -272,6 +273,15 @@ abstract class PhabricatorEditField extends Phobject {
return $this->previewPanel; return $this->previewPanel;
} }
public function setControlInstructions($control_instructions) {
$this->controlInstructions = $control_instructions;
return $this;
}
public function getControlInstructions() {
return $this->controlInstructions;
}
protected function newControl() { protected function newControl() {
throw new PhutilMethodNotImplementedException(); throw new PhutilMethodNotImplementedException();
} }
@ -358,6 +368,11 @@ abstract class PhabricatorEditField extends Phobject {
} }
} }
$instructions = $this->getControlInstructions();
if (strlen($instructions)) {
$form->appendRemarkupInstructions($instructions);
}
$form->appendControl($control); $form->appendControl($control);
} }
return $this; return $this;