yusuketk 6 лет назад
Родитель
Сommit
4ca4798669
3 измененных файлов с 14 добавлено и 4 удалено
  1. 4 2
      src/client/js/components/LoginForm.jsx
  2. 6 1
      src/client/js/nologin.jsx
  3. 4 1
      src/server/views/login.html

+ 4 - 2
src/client/js/components/LoginForm.jsx

@@ -127,10 +127,10 @@ class LoginForm extends React.Component {
   }
 
   render() {
-    const { t } = this.props;
+    const { t, isRegistering } = this.props;
 
     const isLocalOrLdapStrategiesEnabled = this.isLocalStrategySetup || this.isLdapStrategySetup;
-    const registerFormClass = this.isRegistrationEnabled ? 'to-flip' : '';
+    const registerFormClass = isRegistering ? 'to-flip' : '';
     const isSomeExternalAuthEnabled = Object.values(this.objOfIsExternalAuthEnableds).some(elem => elem);
 
     return (
@@ -162,6 +162,8 @@ class LoginForm extends React.Component {
 LoginForm.propTypes = {
   // i18next
   t: PropTypes.func.isRequired,
+  isRegistering: PropTypes.bool,
+  csrf: PropTypes.string,
 };
 
 export default withTranslation()(LoginForm);

+ 6 - 1
src/client/js/nologin.jsx

@@ -27,9 +27,14 @@ if (installerFormElem) {
 // render loginForm
 const loginFormElem = document.getElementById('login-form');
 if (loginFormElem) {
+  const isRegistering = loginFormElem.dataset.isRegistering;
+  const csrf = loginFormElem.dataset.csrf;
   ReactDOM.render(
     <I18nextProvider i18n={i18n}>
-      <LoginForm />
+      <LoginForm
+        isRegistering={isRegistering}
+        csrf={csrf}
+      />
     </I18nextProvider>,
     loginFormElem,
   );

+ 4 - 1
src/server/views/login.html

@@ -105,7 +105,10 @@
         </div>
       </div>
 
-      <div id="login-form"></div>
+      <div id="login-form"
+        data-is-registering="{{ req.query.register or req.body.registerForm or isRegistering }}"
+        data-csrf="{{ csrf() }}"
+      ></div>
 
       <div>
         <div>