diff --git a/src/applications/almanac/query/AlmanacDeviceSearchEngine.php b/src/applications/almanac/query/AlmanacDeviceSearchEngine.php --- a/src/applications/almanac/query/AlmanacDeviceSearchEngine.php +++ b/src/applications/almanac/query/AlmanacDeviceSearchEngine.php @@ -137,4 +137,30 @@ return $result; } + protected function getNewUserBody() { + $see_network = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('See Networks')) + ->setHref('/almanac/network/'); + + $create_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('Create a Device')) + ->setHref('/almanac/device/edit/') + ->setIcon('fa-plus') + ->setColor(PHUIButtonView::GREEN); + + $app_name = pht('Devices'); + $view = id(new PHUIBigInfoView()) + ->setIcon('fa-server') + ->setTitle(pht('Welcome to %s', $app_name)) + ->setDescription( + pht( + 'Use Almanac Devices to catalogue your hosts and their ports, '. + 'in your networks.')) + ->addAction($see_network) + ->addAction($create_button); + + return $view; + } } diff --git a/src/applications/almanac/query/AlmanacNetworkSearchEngine.php b/src/applications/almanac/query/AlmanacNetworkSearchEngine.php --- a/src/applications/almanac/query/AlmanacNetworkSearchEngine.php +++ b/src/applications/almanac/query/AlmanacNetworkSearchEngine.php @@ -87,4 +87,25 @@ return $result; } + + protected function getNewUserBody() { + $create_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('Create a Network')) + ->setHref('/almanac/network/edit/') + ->setIcon('fa-plus') + ->setColor(PHUIButtonView::GREEN); + + $app_name = pht('Networks'); + $view = id(new PHUIBigInfoView()) + ->setIcon('fa-globe') + ->setTitle(pht('Welcome to %s', $app_name)) + ->setDescription( + pht( + 'Use Almanac Networks to catalogue private and public '. + 'computer networks.')) + ->addAction($create_button); + + return $view; + } } diff --git a/src/applications/almanac/query/AlmanacServiceSearchEngine.php b/src/applications/almanac/query/AlmanacServiceSearchEngine.php --- a/src/applications/almanac/query/AlmanacServiceSearchEngine.php +++ b/src/applications/almanac/query/AlmanacServiceSearchEngine.php @@ -115,4 +115,31 @@ return $result; } + + protected function getNewUserBody() { + $see_devices = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('See Devices')) + ->setHref('/almanac/device/'); + + $create_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('Create a Service')) + ->setHref('/almanac/service/edit/') + ->setIcon('fa-plus') + ->setColor(PHUIButtonView::GREEN); + + + $app_name = pht('Services'); + $view = id(new PHUIBigInfoView()) + ->setIcon('fa-plug') + ->setTitle(pht('Welcome to %s', $app_name)) + ->setDescription( + pht( + 'Use Almanac Services to create service pools, of your devices.')) + ->addAction($see_devices) + ->addAction($create_button); + + return $view; + } } diff --git a/src/applications/drydock/query/DrydockBlueprintSearchEngine.php b/src/applications/drydock/query/DrydockBlueprintSearchEngine.php --- a/src/applications/drydock/query/DrydockBlueprintSearchEngine.php +++ b/src/applications/drydock/query/DrydockBlueprintSearchEngine.php @@ -138,4 +138,33 @@ return $result; } + protected function getNewUserBody() { + $see_almanac_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('See Almanac')) + ->setHref('/almanac/'); + + $create_button = id(new PHUIButtonView()) + ->setTag('a') + ->setText(pht('Create a Blueprint')) + ->setHref('/drydock/blueprint/edit/') + ->setIcon('fa-plus') + ->setColor(PHUIButtonView::GREEN); + + $app_name = pht('Blueprints'); + $view = id(new PHUIBigInfoView()) + ->setIcon('fa-map-o') + ->setTitle(pht('Welcome to %s', $app_name)) + ->setDescription( + pht( + 'Use Drydock blueprints to allocate resources on-demand, '. + 'like working copies for CI/CD. '. + 'Blueprints can allocate any service and host from your '. + 'Almanac inventory.')) + ->addAction($see_almanac_button) + ->addAction($create_button); + + return $view; + } + }