diff --git a/server/app/routes/v1.0/routes_d4dMasters.js b/server/app/routes/v1.0/routes_d4dMasters.js index d4562e615..3a198057b 100755 --- a/server/app/routes/v1.0/routes_d4dMasters.js +++ b/server/app/routes/v1.0/routes_d4dMasters.js @@ -2683,86 +2683,112 @@ module.exports.setRoutes = function (app, sessionVerification) { res.send(500); return; } - logger.debug("hashedPassword: ", hashedPassword); bodyJson["password"] = hashedPassword; - var userModel = new d4dModelNew.d4dModelMastersUsers(bodyJson); - userModel.save(function (err, data) { + d4dModelNew.d4dModelMastersUsers.find({ + loginname: bodyJson["loginname"] + }, function (err, users) { if (err) { - logger.error('Hit Save error', err); + logger.error('Hit error while check user is exist with Login Name', err); res.send(500); return; - - } - var teamName = bodyJson["teamname"].split(","); - var rowId = bodyJson["teamname_rowid"].split(","); - for (var x = 0; x < rowId.length; x++) { - d4dModelNew.d4dModelMastersTeams.find({ - rowid: rowId[x] - }, function (err, teamData) { + } else if (users.length > 0) { + logger.error('Login Name already exists. Please try to register with different Login Name'); + res.status(400).send("Login Name already exists.Please try to register with different Login Name"); + return; + } else { + d4dModelNew.d4dModelMastersUsers.find({ + email: bodyJson["email"] + },function(err,usersList){ if (err) { - logger.debug("Error : ", err); - } - teamData[0].loginname = teamData[0].loginname + "," + bodyJson["loginname"]; - teamData[0].loginname_rowid = teamData[0].loginname_rowid + "," + bodyJson["rowid"]; - if (teamData[0].loginname.length > 0 && teamData[0].loginname_rowid.length > 0) { - if (teamData[0].loginname.substring(0, 1) == ',') { - teamData[0].loginname = teamData[0].loginname.substring(1); - } - if (teamData[0].loginname_rowid.substring(0, 1) == ',') { - teamData[0].loginname_rowid = teamData[0].loginname_rowid.substring(1); - } - } - d4dModelNew.d4dModelMastersTeams.update({ - rowid: teamData[0].rowid - }, { - $set: JSON.parse(JSON.stringify(teamData[0])) - }, { - upsert: false - }, function (err, updatedTeam) { - if (err) { - logger.debug("Failed to update Team: ", errorResponses.db.error); - } - logger.debug("Successfully Team updated with User."); - }); - - }); - if (x === rowId.length - 1) { - if (bodyJson['orgname_rowid'] === '' || bodyJson['orgname_rowid'] === null) { - res.send(200); + logger.error('Hit error while check user is exist with email', err); + res.send(500); return; - } else { - settingWizard.getSettingWizardByOrgId(bodyJson['orgname_rowid'], function (err, settingWizards) { + } else if (usersList.length > 0) { + logger.error('Email Id already associated with different Login Name. Please enter different Email Id'); + res.status(400).send("Email Id already associated with different Login Name. Please enter different Email Id"); + return; + }else{ + var userModel = new d4dModelNew.d4dModelMastersUsers(bodyJson); + userModel.save(function (err, data) { if (err) { - logger.error('Hit getting setting wizard error', err); + logger.error('Hit Save error', err); res.send(500); return; - }else if (settingWizards !== null && settingWizards.currentStep && settingWizards.currentStep.name === 'User Configuration') { - var settingWizardSteps = appConfig.settingWizardSteps; - settingWizards.currentStep.nestedSteps[1].isCompleted = true; - settingWizards.currentStep.isCompleted = true; - settingWizards.previousStep = settingWizards.currentStep; - settingWizards.currentStep = settingWizards.nextStep; - settingWizards.nextStep = settingWizardSteps[5]; - settingWizard.updateSettingWizard(settingWizards, function (err, data) { + + } + var teamName = bodyJson["teamname"].split(","); + var rowId = bodyJson["teamname_rowid"].split(","); + for (var x = 0; x < rowId.length; x++) { + d4dModelNew.d4dModelMastersTeams.find({ + rowid: rowId[x] + }, function (err, teamData) { if (err) { - logger.error('Hit getting setting wizard error', err); - res.send(500); - return; + logger.debug("Error : ", err); } - res.send(200); - return; + teamData[0].loginname = teamData[0].loginname + "," + bodyJson["loginname"]; + teamData[0].loginname_rowid = teamData[0].loginname_rowid + "," + bodyJson["rowid"]; + if (teamData[0].loginname.length > 0 && teamData[0].loginname_rowid.length > 0) { + if (teamData[0].loginname.substring(0, 1) == ',') { + teamData[0].loginname = teamData[0].loginname.substring(1); + } + if (teamData[0].loginname_rowid.substring(0, 1) == ',') { + teamData[0].loginname_rowid = teamData[0].loginname_rowid.substring(1); + } + } + d4dModelNew.d4dModelMastersTeams.update({ + rowid: teamData[0].rowid + }, { + $set: JSON.parse(JSON.stringify(teamData[0])) + }, { + upsert: false + }, function (err, updatedTeam) { + if (err) { + logger.debug("Failed to update Team: ", errorResponses.db.error); + } + logger.debug("Successfully Team updated with User."); + }); + }); - }else { - res.send(200); - return; + if (x === rowId.length - 1) { + if (bodyJson['orgname_rowid'] === '' || bodyJson['orgname_rowid'] === null) { + res.send(200); + return; + } else { + settingWizard.getSettingWizardByOrgId(bodyJson['orgname_rowid'], function (err, settingWizards) { + if (err) { + logger.error('Hit getting setting wizard error', err); + res.send(500); + return; + } else if (settingWizards !== null && settingWizards.currentStep && settingWizards.currentStep.name === 'User Configuration') { + var settingWizardSteps = appConfig.settingWizardSteps; + settingWizards.currentStep.nestedSteps[1].isCompleted = true; + settingWizards.currentStep.isCompleted = true; + settingWizards.previousStep = settingWizards.currentStep; + settingWizards.currentStep = settingWizards.nextStep; + settingWizards.nextStep = settingWizardSteps[5]; + settingWizard.updateSettingWizard(settingWizards, function (err, data) { + if (err) { + logger.error('Hit getting setting wizard error', err); + res.send(500); + return; + } + res.send(200); + return; + }); + } else { + res.send(200); + return; + } + }) + } + } } - }) + }); } - } + }) } }); }); - } else if (req.params.id === '4') { // bodyJson['repositories'] = JSON.parse(bodyJson['repositories']); var projectModel = new d4dModelNew.d4dModelMastersProjects(bodyJson);