|
|
@@ -31,8 +31,8 @@ module.exports = function(crowi) {
|
|
|
isGravatarEnabled: { type: Boolean, default: false },
|
|
|
googleId: String,
|
|
|
name: { type: String },
|
|
|
- username: { type: String, index: true },
|
|
|
- email: { type: String, required: true, unique: true },
|
|
|
+ username: { type: String, required: true, unique: true },
|
|
|
+ email: { type: String, unique: true, sparse: true },
|
|
|
introduction: { type: String },
|
|
|
password: String,
|
|
|
apiToken: String,
|
|
|
@@ -673,12 +673,20 @@ module.exports = function(crowi) {
|
|
|
newUser.name = name;
|
|
|
newUser.username = username;
|
|
|
newUser.email = email;
|
|
|
- newUser.setPassword(password);
|
|
|
- newUser.lang = lang;
|
|
|
+ if (password != null) {
|
|
|
+ newUser.setPassword(password);
|
|
|
+ }
|
|
|
+ if (lang != null) {
|
|
|
+ newUser.lang = lang;
|
|
|
+ }
|
|
|
newUser.createdAt = Date.now();
|
|
|
newUser.status = decideUserStatusOnRegistration();
|
|
|
|
|
|
newUser.save(function(err, userData) {
|
|
|
+ if (err) {
|
|
|
+ debug('createUserByEmailAndPassword failed: ', err);
|
|
|
+ }
|
|
|
+
|
|
|
if (userData.status == STATUS_ACTIVE) {
|
|
|
userEvent.emit('activated', userData);
|
|
|
}
|