Changeset View
Changeset View
Standalone View
Standalone View
src/applications/almanac/controller/AlmanacDeviceViewController.php
Show First 20 Lines • Show All 151 Lines • ▼ Show 20 Lines | private function buildSSHKeysTable(AlmanacDevice $device) { | ||||
$table = id(new PhabricatorAuthSSHKeyTableView()) | $table = id(new PhabricatorAuthSSHKeyTableView()) | ||||
->setUser($viewer) | ->setUser($viewer) | ||||
->setKeys($keys) | ->setKeys($keys) | ||||
->setCanEdit($can_edit) | ->setCanEdit($can_edit) | ||||
->setShowID(true) | ->setShowID(true) | ||||
->setShowTrusted(true) | ->setShowTrusted(true) | ||||
->setNoDataString(pht('This device has no associated SSH public keys.')); | ->setNoDataString(pht('This device has no associated SSH public keys.')); | ||||
try { | $menu_button = PhabricatorAuthSSHKeyTableView::newKeyActionsMenu( | ||||
PhabricatorSSHKeyGenerator::assertCanGenerateKeypair(); | $viewer, | ||||
$can_generate = true; | $device); | ||||
} catch (Exception $ex) { | |||||
$can_generate = false; | |||||
} | |||||
$generate_uri = '/auth/sshkey/generate/?objectPHID='.$device_phid; | |||||
$upload_uri = '/auth/sshkey/upload/?objectPHID='.$device_phid; | |||||
$header = id(new PHUIHeaderView()) | $header = id(new PHUIHeaderView()) | ||||
->setHeader(pht('SSH Public Keys')) | ->setHeader(pht('SSH Public Keys')) | ||||
->addActionLink( | ->addActionLink($menu_button); | ||||
id(new PHUIButtonView()) | |||||
->setTag('a') | |||||
->setHref($generate_uri) | |||||
->setWorkflow(true) | |||||
->setDisabled(!$can_edit || !$can_generate) | |||||
->setText(pht('Generate Keypair')) | |||||
->setIcon( | |||||
id(new PHUIIconView()) | |||||
->setIcon('fa-lock'))) | |||||
->addActionLink( | |||||
id(new PHUIButtonView()) | |||||
->setTag('a') | |||||
->setHref($upload_uri) | |||||
->setWorkflow(true) | |||||
->setDisabled(!$can_edit) | |||||
->setText(pht('Upload Public Key')) | |||||
->setIcon( | |||||
id(new PHUIIconView()) | |||||
->setIcon('fa-upload'))); | |||||
return id(new PHUIObjectBoxView()) | return id(new PHUIObjectBoxView()) | ||||
->setHeader($header) | ->setHeader($header) | ||||
->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) | ->setBackground(PHUIObjectBoxView::BLUE_PROPERTY) | ||||
->setTable($table); | ->setTable($table); | ||||
} | } | ||||
private function buildServicesTable(AlmanacDevice $device) { | private function buildServicesTable(AlmanacDevice $device) { | ||||
▲ Show 20 Lines • Show All 49 Lines • Show Last 20 Lines |