+
+
+class UserConfirmation(models.Model):
+ user = models.ForeignKey(User, models.CASCADE)
+ created_at = models.DateTimeField(auto_now_add=True)
+ key = models.CharField(max_length=128, unique=True)
+
+ def send(self):
+ send_mail(
+ 'Potwierdź konto w bibliotece Wolne Lektury',
+ f'https://beta.wolnelektury.pl/ludzie/potwierdz/{self.key}/',
+ settings.CONTACT_EMAIL,
+ [self.user.email]
+ )
+
+ def use(self):
+ user = self.user
+ user.is_active = True
+ user.save()
+ self.delete()
+
+ @classmethod
+ def request(cls, user):
+ cls.objects.create(
+ user=user,
+ key=generate_token()
+ ).send()