Differential D20017 Diff 47814 src/applications/auth/controller/mfa/PhabricatorAuthFactorProviderEditController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/auth/controller/mfa/PhabricatorAuthFactorProviderEditController.php
Show All 35 Lines | private function buildFactorSelectionResponse() { | ||||
$factors = PhabricatorAuthFactor::getAllFactors(); | $factors = PhabricatorAuthFactor::getAllFactors(); | ||||
$menu = id(new PHUIObjectItemListView()) | $menu = id(new PHUIObjectItemListView()) | ||||
->setUser($viewer) | ->setUser($viewer) | ||||
->setBig(true) | ->setBig(true) | ||||
->setFlush(true); | ->setFlush(true); | ||||
$factors = msortv($factors, 'newSortVector'); | |||||
foreach ($factors as $factor_key => $factor) { | foreach ($factors as $factor_key => $factor) { | ||||
$factor_uri = id(new PhutilURI('/mfa/edit/')) | $factor_uri = id(new PhutilURI('/mfa/edit/')) | ||||
->setQueryParam('providerFactorKey', $factor_key); | ->setQueryParam('providerFactorKey', $factor_key); | ||||
$factor_uri = $this->getApplicationURI($factor_uri); | $factor_uri = $this->getApplicationURI($factor_uri); | ||||
$is_enabled = $factor->canCreateNewProvider(); | |||||
$item = id(new PHUIObjectItemView()) | $item = id(new PHUIObjectItemView()) | ||||
->setHeader($factor->getFactorName()) | ->setHeader($factor->getFactorName()) | ||||
->setHref($factor_uri) | |||||
->setClickable(true) | |||||
->setImageIcon($factor->newIconView()) | ->setImageIcon($factor->newIconView()) | ||||
->addAttribute($factor->getFactorCreateHelp()); | ->addAttribute($factor->getFactorCreateHelp()); | ||||
if ($is_enabled) { | |||||
$item | |||||
->setHref($factor_uri) | |||||
->setClickable(true); | |||||
} else { | |||||
$item->setDisabled(true); | |||||
} | |||||
$create_description = $factor->getProviderCreateDescription(); | |||||
if ($create_description) { | |||||
$item->appendChild($create_description); | |||||
} | |||||
$menu->addItem($item); | $menu->addItem($item); | ||||
} | } | ||||
return $this->newDialog() | return $this->newDialog() | ||||
->setTitle(pht('Choose Provider Type')) | ->setTitle(pht('Choose Provider Type')) | ||||
->appendChild($menu) | ->appendChild($menu) | ||||
->addCancelButton($cancel_uri); | ->addCancelButton($cancel_uri); | ||||
} | } | ||||
} | } |