Page MenuHomePhabricator

D12340.diff
No OneTemporary

D12340.diff

diff --git a/src/applications/almanac/controller/AlmanacBindingViewController.php b/src/applications/almanac/controller/AlmanacBindingViewController.php
--- a/src/applications/almanac/controller/AlmanacBindingViewController.php
+++ b/src/applications/almanac/controller/AlmanacBindingViewController.php
@@ -73,24 +73,17 @@
$properties = id(new PHUIPropertyListView())
->setUser($viewer);
- $handles = $this->loadViewerHandles(
- array(
- $binding->getServicePHID(),
- $binding->getDevicePHID(),
- $binding->getInterface()->getNetworkPHID(),
- ));
-
$properties->addProperty(
pht('Service'),
- $handles[$binding->getServicePHID()]->renderLink());
+ $viewer->renderHandle($binding->getServicePHID()));
$properties->addProperty(
pht('Device'),
- $handles[$binding->getDevicePHID()]->renderLink());
+ $viewer->renderHandle($binding->getDevicePHID()));
$properties->addProperty(
pht('Network'),
- $handles[$binding->getInterface()->getNetworkPHID()]->renderLink());
+ $viewer->renderHandle($binding->getInterface()->getNetworkPHID()));
$properties->addProperty(
pht('Interface'),
diff --git a/src/applications/almanac/controller/AlmanacDeviceViewController.php b/src/applications/almanac/controller/AlmanacDeviceViewController.php
--- a/src/applications/almanac/controller/AlmanacDeviceViewController.php
+++ b/src/applications/almanac/controller/AlmanacDeviceViewController.php
@@ -119,17 +119,9 @@
->withDevicePHIDs(array($device->getPHID()))
->execute();
- $phids = array();
- foreach ($interfaces as $interface) {
- $phids[] = $interface->getNetworkPHID();
- $phids[] = $interface->getDevicePHID();
- }
- $handles = $this->loadViewerHandles($phids);
-
$table = id(new AlmanacInterfaceTableView())
->setUser($viewer)
->setInterfaces($interfaces)
- ->setHandles($handles)
->setCanEdit($can_edit);
$header = id(new PHUIHeaderView())
@@ -214,6 +206,7 @@
}
private function buildServicesTable(AlmanacDevice $device) {
+ $viewer = $this->getViewer();
// NOTE: We're loading all services so we can show hidden, locked services.
// In general, we let you know about all the things the device is bound to,
@@ -226,19 +219,18 @@
->withDevicePHIDs(array($device->getPHID()))
->execute();
- $handles = $this->loadViewerHandles(mpull($services, 'getPHID'));
+ $handles = $viewer->loadHandles(mpull($services, 'getPHID'));
$icon_lock = id(new PHUIIconView())
->setIconFont('fa-lock');
$rows = array();
foreach ($services as $service) {
- $handle = $handles[$service->getPHID()];
$rows[] = array(
($service->getIsLocked()
? $icon_lock
: null),
- $handle->renderLink(),
+ $handles->renderHandle($service->getPHID()),
);
}
diff --git a/src/applications/almanac/controller/AlmanacServiceViewController.php b/src/applications/almanac/controller/AlmanacServiceViewController.php
--- a/src/applications/almanac/controller/AlmanacServiceViewController.php
+++ b/src/applications/almanac/controller/AlmanacServiceViewController.php
@@ -120,20 +120,11 @@
->withServicePHIDs(array($service->getPHID()))
->execute();
- $phids = array();
- foreach ($bindings as $binding) {
- $phids[] = $binding->getServicePHID();
- $phids[] = $binding->getDevicePHID();
- $phids[] = $binding->getInterface()->getNetworkPHID();
- }
- $handles = $this->loadViewerHandles($phids);
-
$table = id(new AlmanacBindingTableView())
->setNoDataString(
pht('This service has not been bound to any device interfaces yet.'))
->setUser($viewer)
- ->setBindings($bindings)
- ->setHandles($handles);
+ ->setBindings($bindings);
$header = id(new PHUIHeaderView())
->setHeader(pht('Service Bindings'))
diff --git a/src/applications/almanac/view/AlmanacBindingTableView.php b/src/applications/almanac/view/AlmanacBindingTableView.php
--- a/src/applications/almanac/view/AlmanacBindingTableView.php
+++ b/src/applications/almanac/view/AlmanacBindingTableView.php
@@ -3,7 +3,6 @@
final class AlmanacBindingTableView extends AphrontView {
private $bindings;
- private $handles;
private $noDataString;
public function setNoDataString($no_data_string) {
@@ -15,15 +14,6 @@
return $this->noDataString;
}
- public function setHandles(array $handles) {
- $this->handles = $handles;
- return $this;
- }
-
- public function getHandles() {
- return $this->handles;
- }
-
public function setBindings(array $bindings) {
$this->bindings = $bindings;
return $this;
@@ -35,9 +25,16 @@
public function render() {
$bindings = $this->getBindings();
- $handles = $this->getHandles();
$viewer = $this->getUser();
+ $phids = array();
+ foreach ($bindings as $binding) {
+ $phids[] = $binding->getServicePHID();
+ $phids[] = $binding->getDevicePHID();
+ $phids[] = $binding->getInterface()->getNetworkPHID();
+ }
+ $handles = $viewer->loadHandles($phids);
+
$rows = array();
foreach ($bindings as $binding) {
$addr = $binding->getInterface()->getAddress();
@@ -45,9 +42,9 @@
$rows[] = array(
$binding->getID(),
- $handles[$binding->getServicePHID()]->renderLink(),
- $handles[$binding->getDevicePHID()]->renderLink(),
- $handles[$binding->getInterface()->getNetworkPHID()]->renderLink(),
+ $handles->renderHandle($binding->getServicePHID()),
+ $handles->renderHandle($binding->getDevicePHID()),
+ $handles->renderHandle($binding->getInterface()->getNetworkPHID()),
$binding->getInterface()->renderDisplayAddress(),
phutil_tag(
'a',
diff --git a/src/applications/almanac/view/AlmanacInterfaceTableView.php b/src/applications/almanac/view/AlmanacInterfaceTableView.php
--- a/src/applications/almanac/view/AlmanacInterfaceTableView.php
+++ b/src/applications/almanac/view/AlmanacInterfaceTableView.php
@@ -3,18 +3,8 @@
final class AlmanacInterfaceTableView extends AphrontView {
private $interfaces;
- private $handles;
private $canEdit;
- public function setHandles(array $handles) {
- $this->handles = $handles;
- return $this;
- }
-
- public function getHandles() {
- return $this->handles;
- }
-
public function setInterfaces(array $interfaces) {
$this->interfaces = $interfaces;
return $this;
@@ -35,7 +25,6 @@
public function render() {
$interfaces = $this->getInterfaces();
- $handles = $this->getHandles();
$viewer = $this->getUser();
if ($this->getCanEdit()) {
@@ -44,11 +33,13 @@
$button_class = 'small grey button disabled';
}
+ $handles = $viewer->loadHandles(mpull($interfaces, 'getNetworkPHID'));
+
$rows = array();
foreach ($interfaces as $interface) {
$rows[] = array(
$interface->getID(),
- $handles[$interface->getNetworkPHID()]->renderLink(),
+ $handles->renderHandle($interface->getNetworkPHID()),
$interface->getAddress(),
$interface->getPort(),
phutil_tag(

File Metadata

Mime Type
text/plain
Expires
Fri, May 10, 11:28 PM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6284317
Default Alt Text
D12340.diff (7 KB)

Event Timeline