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:
parent
3328e78a7b
commit
98b202042e
4 changed files with 54 additions and 2 deletions
|
@ -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'))
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue