|
|
@@ -4,7 +4,7 @@ import secrets
|
|
|
|
|
|
|
|
|
class InvitationCode(models.Model):
|
|
|
- code = models.CharField(max_length=32, unique=True, editable=False)
|
|
|
+ code = models.CharField(max_length=32, unique=True, default='')
|
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
expires_at = models.DateTimeField()
|
|
|
is_used = models.BooleanField(default=False)
|
|
|
@@ -26,6 +26,11 @@ class InvitationCode(models.Model):
|
|
|
verbose_name = "Código de Invitación"
|
|
|
verbose_name_plural = "Códigos de Invitación"
|
|
|
|
|
|
+ def save(self, *args, **kwargs):
|
|
|
+ if not self.code:
|
|
|
+ self.code = self.generate_code()
|
|
|
+ super().save(*args, **kwargs)
|
|
|
+
|
|
|
def __str__(self):
|
|
|
return f"{self.code} (expira: {self.expires_at:%d/%m/%Y %H:%M})"
|
|
|
|