Differential D19813 Diff 47341 src/applications/diffusion/management/DiffusionRepositoryStorageManagementPanel.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diffusion/management/DiffusionRepositoryStorageManagementPanel.php
Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | if ($service) { | ||||
$versions = array(); | $versions = array(); | ||||
} else { | } else { | ||||
$versions = PhabricatorRepositoryWorkingCopyVersion::loadVersions( | $versions = PhabricatorRepositoryWorkingCopyVersion::loadVersions( | ||||
$repository->getPHID()); | $repository->getPHID()); | ||||
} | } | ||||
$versions = mpull($versions, null, 'getDevicePHID'); | $versions = mpull($versions, null, 'getDevicePHID'); | ||||
foreach ($bindings as $binding_group) { | // List enabled devices first, then sort devices in each group by name. | ||||
$all_disabled = true; | $sort = array(); | ||||
foreach ($binding_group as $binding) { | foreach ($bindings as $key => $binding_group) { | ||||
if (!$binding->getIsDisabled()) { | $all_disabled = $this->isDisabledGroup($binding_group); | ||||
$all_disabled = false; | |||||
break; | $sort[$key] = id(new PhutilSortVector()) | ||||
} | ->addInt($all_disabled ? 1 : 0) | ||||
->addString(head($binding_group)->getDevice()->getName()); | |||||
} | } | ||||
$sort = msortv($sort, 'getSelf'); | |||||
$bindings = array_select_keys($bindings, array_keys($sort)) + $bindings; | |||||
foreach ($bindings as $binding_group) { | |||||
$all_disabled = $this->isDisabledGroup($binding_group); | |||||
$any_binding = head($binding_group); | $any_binding = head($binding_group); | ||||
if ($all_disabled) { | if ($all_disabled) { | ||||
$binding_icon = 'fa-times grey'; | $binding_icon = 'fa-times grey'; | ||||
$binding_tip = pht('Disabled'); | $binding_tip = pht('Disabled'); | ||||
} else { | } else { | ||||
$binding_icon = 'fa-folder-open green'; | $binding_icon = 'fa-folder-open green'; | ||||
$binding_tip = pht('Active'); | $binding_tip = pht('Active'); | ||||
▲ Show 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | $table = id(new AphrontTableView($rows)) | ||||
'right wide', | 'right wide', | ||||
null, | null, | ||||
'date', | 'date', | ||||
)); | )); | ||||
return $this->newBox(pht('Cluster Status'), $table); | return $this->newBox(pht('Cluster Status'), $table); | ||||
} | } | ||||
private function isDisabledGroup(array $binding_group) { | |||||
assert_instances_of($binding_group, 'AlmanacBinding'); | |||||
foreach ($binding_group as $binding) { | |||||
if (!$binding->getIsDisabled()) { | |||||
return false; | |||||
} | |||||
} | |||||
return true; | |||||
} | |||||
} | } |