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)