     @promiseToSetState emailConflict: auth.register({email}).catch (error) ->
       error.message.match(/email(.+)taken/mi) ? false
 
+  handlePrivacyPolicyChange: ->
+    @setState agreesToPrivacyPolicy: @refs.agreesToPrivacyPolicy.getDOMNode().checked
+
   isFormValid: ->
-    {badNameChars, nameConflict, passwordsDontMatch, emailConflict} = @state
-    agreesToPrivacyPolicy = @refs.agreesToPrivacyPolicy?.getDOMNode().checked
+    {badNameChars, nameConflict, passwordsDontMatch, emailConflict, agreesToPrivacyPolicy} = @state
     badNameChars?.length is 0 and not nameConflict and not passwordsDontMatch and not emailConflict and agreesToPrivacyPolicy
 
   handleSubmit: (e) ->

      <br />

      <label>
        <input type="checkbox" ref="agreesToPrivacyPolicy" disabled={@state.user?} onChange={@forceUpdate.bind this, null} />
        {privacyPolicyLink = <a href="#/todo/privacy"><Translate content="registerForm.privacyPolicy" /></a>; null}
        <Translate component="span" content="registerForm.agreeToPrivacyPolicy" link={privacyPolicyLink} />
      </label>

    passwordTooShort: null
    passwordsDontMatch: null
    emailConflict: null
    agreedToPrivacyPolicy: null
    error: null

  componentDidMount: ->
