From a4968ca967942ef1153552e4b219b597910de1bd Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 11 Nov 2015 00:05:14 +0100 Subject: [PATCH] don't break if the user misses out an email address --- src/controllers/templates/Register.js | 35 ++++++++++++++++++--------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/controllers/templates/Register.js b/src/controllers/templates/Register.js index 59377b55f8..a3dac5b9d0 100644 --- a/src/controllers/templates/Register.js +++ b/src/controllers/templates/Register.js @@ -177,6 +177,9 @@ module.exports = { if (formVals.username == '') { badFields.username = this.FieldErrors.Missing; } + if (formVals.email == '') { + badFields.email = this.FieldErrors.Missing; + } if (Object.keys(badFields).length > 0) { this.onBadFields(badFields); return; @@ -228,12 +231,13 @@ module.exports = { }); self.setStep('stage_m.login.email.identity'); }, function(error) { + console.error(error); self.setStep('initial'); var newState = {busy: false}; if (error.errcode == 'THREEPID_IN_USE') { self.onBadFields({email: self.FieldErrors.InUse}); } else { - newState.errorText = 'Unable to contact the given Home Server'; + newState.errorText = 'Unable to contact the given identity server'; } self.setState(newState); }); @@ -292,18 +296,27 @@ module.exports = { var flow = self.chooseFlow(error.data.flows); - var flowStage = self.firstUncompletedStageIndex(flow); - var numDone = self.numCompletedStages(flow); + if (flow) { + var flowStage = self.firstUncompletedStageIndex(flow); + var numDone = self.numCompletedStages(flow); - self.setState({ - busy: false, - flows: flow, - currentStep: 1+numDone, - totalSteps: flow.stages.length+1, - flowStage: flowStage - }); - self.startStage(flow.stages[flowStage]); + self.setState({ + busy: false, + flows: flow, + currentStep: 1+numDone, + totalSteps: flow.stages.length+1, + flowStage: flowStage + }); + self.startStage(flow.stages[flowStage]); + } + else { + self.setState({ + busy: false, + errorText: "Unable to register - missing email address?" + }); + } } else { + console.log(error); self.setStep("initial"); var newState = { busy: false,