diff --git a/mobile/ios/DeightonAR.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate b/mobile/ios/DeightonAR.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate
index 8cef526..2c45d21 100644
Binary files a/mobile/ios/DeightonAR.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate and b/mobile/ios/DeightonAR.xcodeproj/project.xcworkspace/xcuserdata/john.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/server/src/api/routes/AuthRoutes.js b/server/src/api/routes/AuthRoutes.js
index 1457ce6..9c721b9 100644
--- a/server/src/api/routes/AuthRoutes.js
+++ b/server/src/api/routes/AuthRoutes.js
@@ -149,7 +149,7 @@ export class AuthRoutes {
return Promise.reject(createError.NotFound(`User with email '${existingEmail}' was not found`))
} else if (conflictingUser) {
return Promise.reject(createError.BadRequest(`A user with '${newEmail}' already exists`))
- } else if (!isAdminOrExec && user.emailToken && (new Date() - user.emailToken.created) < this.sendEmailDelayInSeconds) {
+ } else if (!isAdmin && user.emailToken && (new Date() - user.emailToken.created) < this.sendEmailDelayInSeconds) {
return Promise.reject(createError.BadRequest('Cannot request email confirmation again so soon'))
}
diff --git a/website/src/Auth/ForgotPassword.js b/website/src/Auth/ForgotPassword.js
index a62ade9..2d6e73c 100644
--- a/website/src/Auth/ForgotPassword.js
+++ b/website/src/Auth/ForgotPassword.js
@@ -81,7 +81,7 @@ export class ForgotPassword extends React.Component {
The email address of an existing user to send the password reset link to.
- Submit
diff --git a/website/src/Auth/ResetPassword.js b/website/src/Auth/ResetPassword.js
index f21b87a..41f4897 100644
--- a/website/src/Auth/ResetPassword.js
+++ b/website/src/Auth/ResetPassword.js
@@ -62,7 +62,7 @@ export class ResetPassword extends React.Component {
render() {
return (
-
diff --git a/website/src/Modal/ChangeEmailModal.js b/website/src/Modal/ChangeEmailModal.js
index 4924255..1ffbd23 100644
--- a/website/src/Modal/ChangeEmailModal.js
+++ b/website/src/Modal/ChangeEmailModal.js
@@ -1,13 +1,14 @@
import React from 'react'
import PropTypes from 'prop-types'
import { autoBind } from 'auto-bind2'
-import { Modal, Button, Icon, Column, Text, BoundInput, BoundButton } from 'ui'
+import { Modal, Button, Row, Column, BoundInput, BoundButton, Text } from 'ui'
import { regExpPattern } from 'regexp-pattern'
import { FormBinder } from 'react-form-binder'
export class ChangeEmailModal extends React.Component {
static propTypes = {
open: PropTypes.bool,
+ oldEmail: PropTypes.string,
onDismiss: PropTypes.func
}
@@ -43,7 +44,7 @@ export class ChangeEmailModal extends React.Component {
let newEmail = null
if (this.state.binder.anyModified && this.state.binder.allValid) {
- newEmail = this.state.binder.getField('newEmail').value
+ newEmail = this.state.binder.getFieldValue('newEmail')
}
this.close(newEmail)
@@ -57,24 +58,42 @@ export class ChangeEmailModal extends React.Component {
return (
-
diff --git a/website/src/Profile/ProfileForm.js b/website/src/Profile/ProfileForm.js
index 738c665..9c5c6de 100644
--- a/website/src/Profile/ProfileForm.js
+++ b/website/src/Profile/ProfileForm.js
@@ -91,7 +91,7 @@ export class ProfileForm extends React.Component {
render() {
return (
-