def test_validation_initiate(self): from ptahcrowd import validation from ptahcrowd.provider import CrowdUser origValidationTemplate = validation.ValidationTemplate class Stub(origValidationTemplate): status = '' token = None def send(self): Stub.status = 'Email has been sended' Stub.token = self.token validation.ValidationTemplate = Stub user = CrowdUser(username='******', email='email') CrowdUser.__type__.add(user) validation.initiate_email_validation(user.email, user, self.request) self.assertEqual(Stub.status, 'Email has been sended') self.assertIsNotNone(Stub.token) t = ptah.token.service.get_bydata(validation.TOKEN_TYPE, user.__uri__) self.assertEqual(Stub.token, t) validation.ValidationTemplate = origValidationTemplate
def register_handler(self): data, errors = self.extract() if errors: self.add_error_message(errors) return user = self.create(data) self.request.registry.notify(PrincipalRegisteredEvent(user)) self.cfg = ptah.get_settings(CFG_ID_CROWD, self.request.registry) # validation if self.cfg['validation']: initiate_email_validation(user, self.request) self.request.add_message('Validation email has been sent.') if not self.cfg['allow-unvalidated']: return HTTPFound(location=self.request.application_url) # authenticate info = ptah.auth_service.authenticate( {'login': user.username, 'password': user.password}) if info.status: headers = security.remember(self.request, info.__uri__) return HTTPFound( location='%s/login-success.html'%self.request.application_url, headers = headers) else: self.request.add_message(info.message) # pragma: no cover
def register_handler(self): data, errors = self.extract() if errors: self.add_error_message(errors) return user = self.create(data) self.request.registry.notify(PrincipalRegisteredEvent(user)) self.cfg = ptah.get_settings(CFG_ID_CROWD, self.request.registry) # validation if self.cfg['validation']: initiate_email_validation(user.email, user, self.request) self.request.add_message('Validation email has been sent.') if not self.cfg['allow-unvalidated']: return HTTPFound(location=self.request.application_url) # authenticate info = ptah.auth_service.authenticate( {'login': user.username, 'password': user.password}) if info.status: headers = security.remember(self.request, info.__uri__) return HTTPFound( location='%s/login-success.html'%self.request.application_url, headers = headers) else: self.request.add_message(info.message) # pragma: no cover