1
0
mirror of https://gitlab.crans.org/mediatek/med.git synced 2025-07-07 13:04:01 +02:00

Clean up Request object

This commit is contained in:
Alexandre Iooss
2019-08-09 23:17:55 +02:00
parent 8b27710266
commit d6e7a2b635
5 changed files with 29 additions and 58 deletions

View File

@ -2,15 +2,11 @@
# Copyright (C) 2017-2019 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
import datetime
import uuid
from django.contrib.auth.models import AbstractUser
from django.db import models
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
from med.settings import MAX_EMPRUNT, REQ_EXPIRE_HRS
from med.settings import MAX_EMPRUNT
class User(AbstractUser):
@ -48,28 +44,6 @@ class User(AbstractUser):
return last_adh_year and self in last_adh_year.adherent.all()
class Request(models.Model):
PASSWD = 'PW'
EMAIL = 'EM'
TYPE_CHOICES = (
(PASSWD, 'Mot de passe'),
(EMAIL, 'Email'),
)
type = models.CharField(max_length=2, choices=TYPE_CHOICES)
token = models.CharField(max_length=32)
user = models.ForeignKey('User', on_delete=models.PROTECT)
created_at = models.DateTimeField(auto_now_add=True, editable=False)
expires_at = models.DateTimeField()
def save(self):
if not self.expires_at:
self.expires_at = timezone.now()
self.expires_at += datetime.timedelta(hours=REQ_EXPIRE_HRS)
if not self.token:
self.token = str(uuid.uuid4()).replace('-', '') # remove hyphens
super().save()
class Clef(models.Model):
nom = models.CharField(max_length=255, unique=True)
proprio = models.ForeignKey('User', on_delete=models.PROTECT, blank=True,