From 0845c04001cecb4f37c039671fda18d0e676e7fb Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Tue, 3 Dec 2024 00:21:39 +0100 Subject: [PATCH] members/echo: don't invalidate echo key after echoing, only expiry invalidates now --- jdav_web/jdav_web/settings/local.py | 1 + jdav_web/members/models.py | 2 +- jdav_web/members/views.py | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/jdav_web/jdav_web/settings/local.py b/jdav_web/jdav_web/settings/local.py index e1b000c..28f0c56 100644 --- a/jdav_web/jdav_web/settings/local.py +++ b/jdav_web/jdav_web/settings/local.py @@ -28,6 +28,7 @@ LJP_CONTRIBUTION_PER_DAY = 25 # echo ECHO_PASSWORD_BIRTHDATE_FORMAT = '%d.%m.%Y' +ECHO_GRACE_PERIOD = 30 # misc diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index 6a5f983..11314f5 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -326,7 +326,7 @@ class Member(Person): def generate_echo_key(self): self.echo_key = uuid.uuid4().hex - self.echo_expire = timezone.now() + timezone.timedelta(days=30) + self.echo_expire = timezone.now() + timezone.timedelta(days=settings.ECHO_GRACE_PERIOD) self.echoed = False self.save() return self.echo_key diff --git a/jdav_web/members/views.py b/jdav_web/members/views.py index 57f0703..37e9c86 100644 --- a/jdav_web/members/views.py +++ b/jdav_web/members/views.py @@ -158,7 +158,9 @@ def echo(request): raise ValueError(_("Invalid emergency contacts")) form.save() emergency_contacts_formset.save() - member.echo_key, member.echo_expire = "", timezone.now() + # We don't invalidate the echo key, so the user + # can echo again if wanted. + # member.echo_key, member.echo_expire = "", timezone.now() member.echoed = True member.save() return render_echo_success(request, member.prename)