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); | ||||
| } | } | ||||
| } | } | ||||