def updateHashAndAssurances(self, user, digest): user.hash = digest assurances = Assurance.listByUser(user) self.deleteHandAssuredAssurances(assurances) if digest is not None: Assurance.new(user, "hashgiven", user) user.save()
def computeAssurancesForApp(self, user, app): appAssurances = AppAssurance.get(app) userAssurances = Assurance.listByUser(user) shownAssurances = list() for userAssurance in userAssurances: if userAssurance.name in appAssurances: shownAssurances.append(userAssurance.name) return shownAssurances
def do_update_hash(self,form): digest = form.digest.data if digest == '': digest = None user = self.getCurrentUser() user.hash = digest user.save() assurances = Assurance.listByUser(user) self.deleteHandAssuredAssurances(assurances) return self.simple_response('new hash registered')
def updateEmailByCredential(self, cred, verify): oldemail=cred.user.email cred.user.email = cred.getAdditionalInfo() cred.user.save() for assurance in Assurance.listByUser(cred.user, 'emailverification'): assurance.rm() if verify: Assurance.new(cred.user, 'emailverification', cred.user) else: self.sendPasswordVerificationEmail(cred.user) self.sendEmail(cred.user, None, None, "CHANGE_EMAIL_DONE",oldemail=oldemail, newemail=cred.user.email)
def do_deregister(self,form): if not self.isLoginCredentials(form): raise ReportedError(["You should use your login credentials to deregister"], 400) cred = Credential.get(form.credentialType.data, form.identifier.data) user = cred.user creds = Credential.getByUser(user) for cred in creds: cred.rm() assurances = Assurance.listByUser(user) for assurance in assurances: assurance.rm() user.rm() return self.simple_response('deregistered')
def updateEmailByCredential(self, cred, verify): oldemail = cred.user.email cred.user.email = cred.getAdditionalInfo() cred.user.save() for assurance in Assurance.listByUser(cred.user, 'emailverification'): assurance.rm() if verify: Assurance.new(cred.user, 'emailverification', cred.user) else: self.sendPasswordVerificationEmail(cred.user) self.sendEmail(cred.user, None, None, "CHANGE_EMAIL_DONE", oldemail=oldemail, newemail=cred.user.email)
def test_adding_assurance_is_possible_using_the_hash_only(self): form = self.prepareLoginForm(email = False) self.controller.doAddAssurance(form) self.assertEqual(Assurance.listByUser(self.targetUser)[0].name, 'test')
def test_assurers_with_appropriate_credential_can_add_assurance_to_user_using_hash(self): form = self.prepareLoginForm() self.controller.doAddAssurance(form) self.assertEqual(Assurance.listByUser(self.targetUser)[0].name, 'test')
def test_confirmChangeEmail_deletes_emailverification_assurance(self): self.doConfirmChangeEmail() self.assertEqual(list(),Assurance.listByUser(self.user,'emailverification'))
def removeAssurances(self, user): assurances = Assurance.listByUser(user) for assurance in assurances: assurance.rm()
def test_adding_assurance_is_possible_using_the_hash_only(self): form = self.prepareLoginForm(email=False) self.controller.doAddAssurance(form) self.assertEqual(Assurance.listByUser(self.targetUser)[0].name, 'test')
def test_assurers_with_appropriate_credential_can_add_assurance_to_user_using_hash( self): form = self.prepareLoginForm() self.controller.doAddAssurance(form) self.assertEqual(Assurance.listByUser(self.targetUser)[0].name, 'test')