diff --git a/src/applications/settings/panel/PhabricatorSettingsPanel.php b/src/applications/settings/panel/PhabricatorSettingsPanel.php index 884572a1e1..483cabdc48 100644 --- a/src/applications/settings/panel/PhabricatorSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorSettingsPanel.php @@ -25,6 +25,9 @@ abstract class PhabricatorSettingsPanel extends Phobject { return $this; } + /** + * @return PhabricatorUser + */ public function getUser() { return $this->user; } @@ -34,6 +37,9 @@ abstract class PhabricatorSettingsPanel extends Phobject { return $this; } + /** + * @return PhabricatorUser + */ public function getViewer() { return $this->viewer; } @@ -48,6 +54,9 @@ abstract class PhabricatorSettingsPanel extends Phobject { return $this; } + /** + * @return PhabricatorController + */ final public function getController() { return $this->controller; } @@ -57,6 +66,9 @@ abstract class PhabricatorSettingsPanel extends Phobject { return $this; } + /** + * @return AphrontSideNavFilterView + */ final public function getNavigation() { return $this->navigation; } @@ -66,6 +78,9 @@ abstract class PhabricatorSettingsPanel extends Phobject { return $this; } + /** + * @return PhabricatorUserPreferences + */ public function getPreferences() { return $this->preferences; } diff --git a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php index 21edc0bc6e..ed407f6fff 100644 --- a/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php +++ b/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php @@ -3208,13 +3208,20 @@ abstract class PhabricatorApplicationTransactionEditor foreach ($xactions as $xaction) { if (!$factors) { + $mfa_panel = id(new PhabricatorMultiFactorSettingsPanel()) + ->setUser($this->getActor()); + $mfa_uri = $mfa_panel->getPanelURI(); + $mfa_panel_name = pht('Settings'); + $mfa_link = new PhutilSafeHTML( + ''.$mfa_panel_name.''); $errors[] = new PhabricatorApplicationTransactionValidationError( $transaction_type, pht('No MFA'), pht( 'You do not have any MFA factors attached to your account, so '. 'you can not sign this transaction group with MFA. Add MFA to '. - 'your account in Settings.'), + 'your account in %s.', + $mfa_link), $xaction); } }