def test_030_validate_user_registration(self): """ validate user registration succeeds and logs user in """ webuser = WebUser.search_by_email('*****@*****.**') self.assertEqual(webuser.opt_in_state, "mail-sent") self.url("verify_email/" + webuser.opt_in_uuid) self.screenshot() self.assertTrue( self.cli.find_elements_by_class_name('cs-backend') )
def create_client(self): uuid = self.appstruct['uuid'] email = self.appstruct['email'] if Client.search_by_uuid(uuid, active=False): self.request.session.flash( _('Client already exists: ') + uuid, 'main-alert-warning' ) self.redirect( ClientResource, 'list', headers=remember(self.request, email) ) return _client = { 'web_user': WebUser.search_by_email(email), 'uuid': uuid, 'player_name': 'Clementine', 'player_version': '1.2', 'plugin_name': 'Clementine IMP Prototyp', 'plugin_version': '0.5', 'plugin_vendor': 'C3S', 'active': True } clients = Client.create([_client]) if not clients: log.info("client add failed for %s: %s" % (email, _client)) self.request.session.flash( _(u"Client could not be added: ") + uuid, 'main-alert-danger' ) self.redirect( ClientResource, 'list', headers=remember(self.request, email) ) return client = clients[0] log.info("client add successful for %s: %s" % (email, client.uuid)) self.request.session.flash( _(u"Client added: ") + client.uuid, 'main-alert-success' ) self.redirect( ClientResource, 'list', headers=remember(self.request, email) )
def validate_unique_user_email(node, values, **kwargs): # multifield validator """Check for valid email and prevent duplicate usernames.""" request = node.bindings["request"] email_value = values["email"] current_web_user = WebUser.current_web_user(request) if email_value != current_web_user.email: # email has been changed: check if it conflicts with other webuser found_conflicting_web_user = WebUser.search_by_email(email_value) if found_conflicting_web_user: raise colander.Invalid(node, _(u"Email address already taken")) # finally, check email format if len(email_value) > 7: if re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+' + # noqa: W605 '(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', email_value) is not None: return raise colander.Invalid(node, "Invalid email address")
def validate_unique_user_email(node, values, **kwargs): # multifield validator """Check for valid email and prevent duplicate usernames.""" request = node.bindings["request"] email_value = values["email"] current_web_user = WebUser.current_web_user(request) if email_value != current_web_user.email: # email has been changed: check if it conflicts with other webuser found_conflicting_web_user = WebUser.search_by_email(email_value) if found_conflicting_web_user: raise colander.Invalid(node, _(u"Email address already taken")) # finally, check email format if len(email_value) > 7: if re.match( '^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+' + # noqa: W605 '(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', email_value) is not None: return raise colander.Invalid(node, "Invalid email address")
def is_registered(self, web_user): if WebUser.search_by_email(web_user['email']): return True return False
def is_registered(self, web_user): if WebUser.search_by_email(web_user['email']): return True return False