Path: blob/master/src/applications/auth/editor/PhabricatorAuthFactorProviderEditEngine.php
12256 views
<?php12final class PhabricatorAuthFactorProviderEditEngine3extends PhabricatorEditEngine {45private $providerFactor;67const ENGINECONST = 'auth.factor.provider';89public function isEngineConfigurable() {10return false;11}1213public function getEngineName() {14return pht('MFA Providers');15}1617public function getSummaryHeader() {18return pht('Edit MFA Providers');19}2021public function getSummaryText() {22return pht('This engine is used to edit MFA providers.');23}2425public function getEngineApplicationClass() {26return 'PhabricatorAuthApplication';27}2829public function setProviderFactor(PhabricatorAuthFactor $factor) {30$this->providerFactor = $factor;31return $this;32}3334public function getProviderFactor() {35return $this->providerFactor;36}3738protected function newEditableObject() {39$factor = $this->getProviderFactor();40if ($factor) {41$provider = PhabricatorAuthFactorProvider::initializeNewProvider($factor);42} else {43$provider = new PhabricatorAuthFactorProvider();44}4546return $provider;47}4849protected function newObjectQuery() {50return new PhabricatorAuthFactorProviderQuery();51}5253protected function getObjectCreateTitleText($object) {54return pht('Create MFA Provider');55}5657protected function getObjectCreateButtonText($object) {58return pht('Create MFA Provider');59}6061protected function getObjectEditTitleText($object) {62return pht('Edit MFA Provider');63}6465protected function getObjectEditShortText($object) {66return $object->getObjectName();67}6869protected function getObjectCreateShortText() {70return pht('Create MFA Provider');71}7273protected function getObjectName() {74return pht('MFA Provider');75}7677protected function getEditorURI() {78return '/auth/mfa/edit/';79}8081protected function getObjectCreateCancelURI($object) {82return '/auth/mfa/';83}8485protected function getObjectViewURI($object) {86return $object->getURI();87}8889protected function getCreateNewObjectPolicy() {90return $this->getApplication()->getPolicy(91AuthManageProvidersCapability::CAPABILITY);92}9394protected function buildCustomEditFields($object) {95$factor = $object->getFactor();96$factor_name = $factor->getFactorName();9798$status_map = PhabricatorAuthFactorProviderStatus::getMap();99100$fields = array(101id(new PhabricatorStaticEditField())102->setKey('displayType')103->setLabel(pht('Factor Type'))104->setDescription(pht('Type of the MFA provider.'))105->setValue($factor_name),106id(new PhabricatorTextEditField())107->setKey('name')108->setTransactionType(109PhabricatorAuthFactorProviderNameTransaction::TRANSACTIONTYPE)110->setLabel(pht('Name'))111->setDescription(pht('Display name for the MFA provider.'))112->setValue($object->getName())113->setPlaceholder($factor_name),114id(new PhabricatorSelectEditField())115->setKey('status')116->setTransactionType(117PhabricatorAuthFactorProviderStatusTransaction::TRANSACTIONTYPE)118->setLabel(pht('Status'))119->setDescription(pht('Status of the MFA provider.'))120->setValue($object->getStatus())121->setOptions($status_map),122);123124$factor_fields = $factor->newEditEngineFields($this, $object);125foreach ($factor_fields as $field) {126$fields[] = $field;127}128129return $fields;130}131132}133134135