mirror of
				https://github.com/NodeBB/NodeBB.git
				synced 2025-10-31 02:55:58 +01:00 
			
		
		
		
	added a new property to userData "hasPassword", disabling "current password" field in user editing if no password is set (for SSO logins, for example)
This commit is contained in:
		
							
								
								
									
										24
									
								
								src/user.js
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								src/user.js
									
									
									
									
									
								
							| @@ -185,8 +185,13 @@ var bcrypt = require('bcryptjs'), | ||||
| 				return callback(err); | ||||
| 			} | ||||
|  | ||||
| 			if (data && data.password) { | ||||
| 				delete data.password; | ||||
| 			if (data) { | ||||
| 				if (data.password) { | ||||
| 					delete data.password; | ||||
| 					data.hasPassword = true; | ||||
| 				} else { | ||||
| 					data.hasPassword = false; | ||||
| 				} | ||||
| 			} | ||||
| 			callback(err, data); | ||||
| 		}); | ||||
| @@ -467,13 +472,18 @@ var bcrypt = require('bcryptjs'), | ||||
| 					return callback(err); | ||||
| 				} | ||||
|  | ||||
| 				bcrypt.compare(data.currentPassword, currentPassword, function(err, res) { | ||||
| 					if (err || !res) { | ||||
| 						return callback(err || new Error('Your current password is not correct!')); | ||||
| 					} | ||||
| 				if (currentPassword !== null) { | ||||
| 					bcrypt.compare(data.currentPassword, currentPassword, function(err, res) { | ||||
| 						if (err || !res) { | ||||
| 							return callback(err || new Error('Your current password is not correct!')); | ||||
| 						} | ||||
|  | ||||
| 						hashAndSetPassword(callback); | ||||
| 					}); | ||||
| 				} else { | ||||
| 					// No password in account (probably SSO login) | ||||
| 					hashAndSetPassword(callback); | ||||
| 				}); | ||||
| 				} | ||||
| 			}); | ||||
| 		} | ||||
| 	}; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user