|
@@ -89,20 +89,22 @@ module.exports = function(crowi, app) {
|
|
|
return res.render('me/index', {});
|
|
return res.render('me/index', {});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- User.findOne({email: email}, (err, existingUserData) => {
|
|
|
|
|
- userData.update(name, email, lang, (err, userData) => {
|
|
|
|
|
|
|
+ User.findOneAndUpdate(
|
|
|
|
|
+ { email: userData.email }, // query
|
|
|
|
|
+ { name, email, lang }, // updating data
|
|
|
|
|
+ { runValidators: true, context: 'query' }, // for validation
|
|
|
|
|
+ // see https://www.npmjs.com/package/mongoose-unique-validator#find--updates -- 2017.09.24 Yuki Takei
|
|
|
|
|
+ (err) => {
|
|
|
if (err) {
|
|
if (err) {
|
|
|
Object.keys(err.errors).forEach((e) => {
|
|
Object.keys(err.errors).forEach((e) => {
|
|
|
req.form.errors.push(err.errors[e].message);
|
|
req.form.errors.push(err.errors[e].message);
|
|
|
});
|
|
});
|
|
|
return res.render('me/index', {});
|
|
return res.render('me/index', {});
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
req.i18n.changeLanguage(lang);
|
|
req.i18n.changeLanguage(lang);
|
|
|
req.flash('successMessage', req.t('Updated'));
|
|
req.flash('successMessage', req.t('Updated'));
|
|
|
return res.redirect('/me');
|
|
return res.redirect('/me');
|
|
|
});
|
|
});
|
|
|
- });
|
|
|
|
|
|
|
|
|
|
} else { // method GET
|
|
} else { // method GET
|
|
|
/// そのうちこのコードはいらなくなるはず
|
|
/// そのうちこのコードはいらなくなるはず
|