]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-12142 Authorization error not displayed correctly on login form
authorWouter Admiraal <wouter.admiraal@sonarsource.com>
Wed, 19 Jun 2019 15:01:07 +0000 (17:01 +0200)
committersonartech <sonartech@sonarsource.com>
Fri, 28 Jun 2019 06:45:44 +0000 (08:45 +0200)
server/sonar-web/src/main/js/apps/sessions/components/Login.tsx
server/sonar-web/src/main/js/apps/sessions/components/LoginForm.tsx
server/sonar-web/src/main/js/apps/sessions/components/__tests__/__snapshots__/Login-test.tsx.snap
server/sonar-web/src/main/js/apps/sessions/components/__tests__/__snapshots__/LoginForm-test.tsx.snap

index 96d4edcf1aef95c3b43d33bd49dfc32e5a4779ad..2e497e0ca293d59467a515af82c68734e6453936 100644 (file)
@@ -20,6 +20,7 @@
 import * as React from 'react';
 import LoginForm from './LoginForm';
 import OAuthProviders from './OAuthProviders';
+import GlobalMessagesContainer from '../../../app/components/GlobalMessagesContainer';
 import { translate } from '../../../helpers/l10n';
 import './Login.css';
 
@@ -34,6 +35,8 @@ export default function Login({ identityProviders, onSubmit, returnTo }: Props)
     <div className="login-page" id="login_form">
       <h1 className="login-title text-center">{translate('login.login_to_sonarqube')}</h1>
 
+      <GlobalMessagesContainer />
+
       {identityProviders.length > 0 && (
         <OAuthProviders identityProviders={identityProviders} returnTo={returnTo} />
       )}
index c20f6a5942cb2e37c4bdd618865d8561245baf6c..2fa113117de9a02aaceae12e83967a4d12f8eed9 100644 (file)
@@ -19,7 +19,6 @@
  */
 import * as React from 'react';
 import DeferredSpinner from '../../../components/common/DeferredSpinner';
-import GlobalMessagesContainer from '../../../app/components/GlobalMessagesContainer';
 import { SubmitButton } from '../../../components/ui/buttons';
 import { translate } from '../../../helpers/l10n';
 import { getBaseUrl } from '../../../helpers/urls';
@@ -87,8 +86,6 @@ export default class LoginForm extends React.PureComponent<Props, State> {
     }
     return (
       <form className="login-form" onSubmit={this.handleSubmit}>
-        <GlobalMessagesContainer />
-
         <div className="big-spacer-bottom">
           <label className="login-label" htmlFor="login">
             {translate('login')}
index 1d254a9eed4407e95cae6e136a4f96f2c25fe3e9..9319b5a2187b1bcf852682008f25f42051c8a192 100644 (file)
@@ -10,6 +10,7 @@ exports[`logs in with form alone 1`] = `
   >
     login.login_to_sonarqube
   </h1>
+  <Connect(GlobalMessages) />
   <LoginForm
     collapsed={false}
     onSubmit={[MockFunction]}
@@ -28,6 +29,7 @@ exports[`logs in with identity provider 1`] = `
   >
     login.login_to_sonarqube
   </h1>
+  <Connect(GlobalMessages) />
   <OAuthProviders
     identityProviders={
       Array [
index 4790486f71e09f8afd1c5b7577968d5b2339a719..d01ad4543c24e2d1a5ab2123571d7cfe3c87700d 100644 (file)
@@ -19,7 +19,6 @@ exports[`expands more options 2`] = `
   className="login-form"
   onSubmit={[Function]}
 >
-  <Connect(GlobalMessages) />
   <div
     className="big-spacer-bottom"
   >
@@ -92,7 +91,6 @@ exports[`logs in with simple credentials 1`] = `
   className="login-form"
   onSubmit={[Function]}
 >
-  <Connect(GlobalMessages) />
   <div
     className="big-spacer-bottom"
   >
@@ -165,7 +163,6 @@ exports[`should display a spinner and disabled button while loading 1`] = `
   className="login-form"
   onSubmit={[Function]}
 >
-  <Connect(GlobalMessages) />
   <div
     className="big-spacer-bottom"
   >