Merge "LoginSignupSpecialPage: Reduce hackiness of "You are already logged in" warning"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sat, 17 Sep 2016 21:48:50 +0000 (21:48 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sat, 17 Sep 2016 21:48:50 +0000 (21:48 +0000)
includes/specialpage/LoginSignupSpecialPage.php

index 2b802ba..bf83e7b 100644 (file)
@@ -499,12 +499,20 @@ abstract class LoginSignupSpecialPage extends AuthManagerSpecialPage {
 
                $form = $this->getAuthForm( $requests, $this->authAction, $msg, $msgtype );
                $form->prepareForm();
+
                $submitStatus = Status::newGood();
                if ( $msg && $msgtype === 'warning' ) {
                        $submitStatus->warning( $msg );
                } elseif ( $msg && $msgtype === 'error' ) {
                        $submitStatus->fatal( $msg );
                }
+
+               // warning header for non-standard workflows (e.g. security reauthentication)
+               if ( !$this->isSignup() && $this->getUser()->isLoggedIn() ) {
+                       $reauthMessage = $this->securityLevel ? 'userlogin-reauth' : 'userlogin-loggedin';
+                       $submitStatus->warning( $reauthMessage, $this->getUser()->getName() );
+               }
+
                $formHtml = $form->getHTML( $submitStatus );
 
                $out->addHTML( $this->getPageHtml( $formHtml ) );
@@ -627,13 +635,6 @@ abstract class LoginSignupSpecialPage extends AuthManagerSpecialPage {
                        $form->setId( 'userlogin2' );
                }
 
-               // warning header for non-standard workflows (e.g. security reauthentication)
-               if ( !$this->isSignup() && $this->getUser()->isLoggedIn() ) {
-                       $reauthMessage = $this->securityLevel ? 'userlogin-reauth' : 'userlogin-loggedin';
-                       $form->addHeaderText( Html::rawElement( 'div', [ 'class' => 'warningbox' ],
-                               $this->msg( $reauthMessage )->params( $this->getUser()->getName() )->parse() ) );
-               }
-
                $form->suppressDefaultSubmit();
 
                $this->authForm = $form;