Просмотр исходного кода

Set selected language to config.globalLang.

Yuto Iwata 7 лет назад
Родитель
Сommit
618555f719

+ 2 - 2
src/client/js/components/InstallerForm.js

@@ -40,12 +40,12 @@ class InstallerForm extends React.Component {
 
         <div className="input-group m-t-20 m-b-20 mx-auto">
           <div className="radio radio-primary radio-inline">
-            <input type="radio" id="radioLangEn" name="registerForm[lang]" value="en-US"
+            <input type="radio" id="radioLangEn" name="registerForm[app:globalLang]" value="en-US"
                    defaultChecked={ true } onClick={() => this.changeLanguage('en-US')} />
             <label htmlFor="radioLangEn">{ this.props.t('English') }</label>
           </div>
           <div className="radio radio-primary radio-inline">
-            <input type="radio" id="radioLangJa" name="registerForm[lang]" value="ja"
+            <input type="radio" id="radioLangJa" name="registerForm[app:globalLang]" value="ja"
                    defaultChecked={ false } onClick={() => this.changeLanguage('ja')} />
             <label htmlFor="radioLangJa">{ this.props.t('Japanese') }</label>
           </div>

+ 2 - 1
src/server/form/register.js

@@ -9,5 +9,6 @@ module.exports = form(
   field('registerForm.email').required(),
   field('registerForm.password').required().is(/^[\x20-\x7F]{6,}$/),
   field('registerForm.googleId'),
-  field('registerForm.googleImage')
+  field('registerForm.googleImage'),
+  field('registerForm[app:globalLang]')
 );

+ 9 - 1
src/server/routes/installer.js

@@ -34,13 +34,16 @@ module.exports = function(crowi, app) {
 
   actions.createAdmin = function(req, res) {
     var registerForm = req.body.registerForm || {};
-    var language = req.language || 'en-US';
 
     if (req.form.isValid) {
       var name = registerForm.name;
       var username = registerForm.username;
       var email = registerForm.email;
       var password = registerForm.password;
+      var language = registerForm['app:globalLang'] || (req.language || 'en-US');
+      // for config.globalLang setting.
+      var langForm = {};
+      langForm['app:globalLang'] = language;
 
       User.createUserByEmailAndPassword(name, username, email, password, language, function(err, userData) {
         if (err) {
@@ -69,6 +72,11 @@ module.exports = function(crowi, app) {
           // create initial pages
           createInitialPages(userData, language);
         });
+
+        // save config settings, and update config cache
+        Config.updateNamespaceByArray('crowi', langForm, function(err, config) {
+          Config.updateConfigCache('crowi', config);
+        });
       });
     }
     else {