Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/drydock/controller/DrydockBlueprintEditController.php b/src/applications/drydock/controller/DrydockBlueprintEditController.php
index f25dc01bff..8f066c708b 100644
--- a/src/applications/drydock/controller/DrydockBlueprintEditController.php
+++ b/src/applications/drydock/controller/DrydockBlueprintEditController.php
@@ -1,97 +1,102 @@
<?php
final class DrydockBlueprintEditController extends DrydockBlueprintController {
public function handleRequest(AphrontRequest $request) {
$engine = id(new DrydockBlueprintEditEngine())
->setController($this);
$id = $request->getURIData('id');
if (!$id) {
$this->requireApplicationCapability(
DrydockCreateBlueprintsCapability::CAPABILITY);
$type = $request->getStr('blueprintType');
$impl = DrydockBlueprintImplementation::getNamedImplementation($type);
if (!$impl || !$impl->isEnabled()) {
return $this->buildTypeSelectionResponse();
}
$engine
->addContextParameter('blueprintType', $type)
->setBlueprintImplementation($impl);
}
return $engine->buildResponse();
}
private function buildTypeSelectionResponse() {
$request = $this->getRequest();
$viewer = $this->getViewer();
$implementations =
DrydockBlueprintImplementation::getAllBlueprintImplementations();
$errors = array();
$e_blueprint = null;
if ($request->isFormPost()) {
$class = $request->getStr('blueprintType');
if (!isset($implementations[$class])) {
$e_blueprint = pht('Required');
$errors[] = pht('You must choose a blueprint type.');
}
}
$control = id(new AphrontFormRadioButtonControl())
->setName('blueprintType')
->setLabel(pht('Blueprint Type'))
->setError($e_blueprint);
foreach ($implementations as $implementation_name => $implementation) {
$disabled = !$implementation->isEnabled();
$impl_icon = $implementation->getBlueprintIcon();
$impl_name = $implementation->getBlueprintName();
$impl_icon = id(new PHUIIconView())
->setIcon($impl_icon, 'lightgreytext');
$control->addButton(
$implementation_name,
array($impl_icon, ' ', $impl_name),
array(
pht('Provides: %s', $implementation->getType()),
phutil_tag('br'),
phutil_tag('br'),
$implementation->getDescription(),
),
$disabled ? 'disabled' : null,
$disabled);
}
$title = pht('Create New Blueprint');
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb(pht('New Blueprint'));
+ $crumbs->setBorder(true);
$form = id(new AphrontFormView())
->setUser($viewer)
->appendChild($control)
->appendChild(
id(new AphrontFormSubmitControl())
->addCancelButton($this->getApplicationURI('blueprint/'))
->setValue(pht('Continue')));
$box = id(new PHUIObjectBoxView())
->setFormErrors($errors)
->setHeaderText($title)
+ ->setBackground(PHUIObjectBoxView::WHITE_CONFIG)
->setForm($form);
+ $view = id(new PHUITwoColumnView())
+ ->setFooter($box);
+
return $this->newPage()
->setTitle($title)
->setCrumbs($crumbs)
- ->appendChild($box);
+ ->appendChild($view);
}
}
diff --git a/src/applications/drydock/controller/DrydockConsoleController.php b/src/applications/drydock/controller/DrydockConsoleController.php
index ac524cb8a5..54adcf5ca5 100644
--- a/src/applications/drydock/controller/DrydockConsoleController.php
+++ b/src/applications/drydock/controller/DrydockConsoleController.php
@@ -1,86 +1,85 @@
<?php
final class DrydockConsoleController extends DrydockController {
public function shouldAllowPublic() {
return true;
}
public function buildSideNavView() {
$nav = new AphrontSideNavFilterView();
$nav->setBaseURI(new PhutilURI($this->getApplicationURI()));
// These are only used on mobile.
$nav->addFilter('blueprint', pht('Blueprints'));
$nav->addFilter('resource', pht('Resources'));
$nav->addFilter('lease', pht('Leases'));
$nav->addFilter('operation', pht('Repository Operations'));
$nav->selectFilter(null);
return $nav;
}
public function handleRequest(AphrontRequest $request) {
$viewer = $request->getViewer();
$menu = id(new PHUIObjectItemListView())
- ->setUser($viewer);
+ ->setUser($viewer)
+ ->setBig(true);
$menu->addItem(
id(new PHUIObjectItemView())
->setHeader(pht('Blueprints'))
->setImageIcon('fa-map-o')
->setHref($this->getApplicationURI('blueprint/'))
->addAttribute(
pht(
'Configure blueprints so Drydock can build resources, like '.
'hosts and working copies.')));
$menu->addItem(
id(new PHUIObjectItemView())
->setHeader(pht('Resources'))
->setImageIcon('fa-map')
->setHref($this->getApplicationURI('resource/'))
->addAttribute(
pht('View and manage resources Drydock has built, like hosts.')));
$menu->addItem(
id(new PHUIObjectItemView())
->setHeader(pht('Leases'))
->setImageIcon('fa-link')
->setHref($this->getApplicationURI('lease/'))
->addAttribute(pht('Manage leases on resources.')));
$menu->addItem(
id(new PHUIObjectItemView())
->setHeader(pht('Repository Operations'))
->setImageIcon('fa-fighter-jet')
->setHref($this->getApplicationURI('operation/'))
->addAttribute(pht('Review the repository operation queue.')));
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb(pht('Console'));
$crumbs->setBorder(true);
- $box = id(new PHUIObjectBoxView())
- ->setObjectList($menu);
-
$title = pht('Drydock Console');
- $header = id(new PHUIHeaderView())
- ->setHeader($title)
- ->setHeaderIcon('fa-truck');
+ $box = id(new PHUIObjectBoxView())
+ ->setHeaderText($title)
+ ->setBackground(PHUIObjectBoxView::WHITE_CONFIG)
+ ->setObjectList($menu);
$view = id(new PHUITwoColumnView())
- ->setHeader($header)
+ ->setFixed(true)
->setFooter($box);
return $this->newPage()
->setTitle($title)
->setCrumbs($crumbs)
->appendChild($view);
}
}

File Metadata

Mime Type
text/x-diff
Expires
Thu, May 1, 7:12 AM (1 d, 15 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
108905
Default Alt Text
(6 KB)

Event Timeline