From c5f493178c1248ce5beb19d966096b3ab753f85b Mon Sep 17 00:00:00 2001 From: Oliver Falk Date: Thu, 15 Apr 2021 13:13:23 +0200 Subject: [PATCH] Fix overwriting verification key upon sending confirmation mail --- ivatar/ivataraccount/models.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ivatar/ivataraccount/models.py b/ivatar/ivataraccount/models.py index 3f73fb1..1d7b97a 100644 --- a/ivatar/ivataraccount/models.py +++ b/ivatar/ivataraccount/models.py @@ -359,11 +359,12 @@ class UnconfirmedEmail(BaseAccountModel): def save(self, force_insert=False, force_update=False, using=None, update_fields=None): - hash_object = hashlib.new('sha256') - hash_object.update( - urandom(1024) + self.user.username.encode('utf-8') # pylint: disable=no-member - ) # pylint: disable=no-member - self.verification_key = hash_object.hexdigest() + if not self.verification_key: + hash_object = hashlib.new('sha256') + hash_object.update( + urandom(1024) + self.user.username.encode('utf-8') # pylint: disable=no-member + ) # pylint: disable=no-member + self.verification_key = hash_object.hexdigest() super(UnconfirmedEmail, self).save( force_insert, force_update,