Skip to content

Commit 2484b23

Browse files
committed
fix: update verification token settings
Utilize verification token settings directly from the standard 'settings'-module. Add missing 'VERIFICATION_TOKEN_LENGTH'-setting and update 'PERSONAL_DATA_RETENTION_PERIOD_MONTHS'-type. Refs: PT-1947
1 parent d0b3289 commit 2484b23

2 files changed

Lines changed: 7 additions & 9 deletions

File tree

palvelutarjotin/settings.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
KULTUS_TEACHER_UI_BASE_URL=(str, "https://kultus.hel.fi/"),
7878
ENABLE_SUMMARY_REPORT=(bool, False),
7979
VERIFICATION_TOKEN_VALID_MINUTES=(int, 15),
80+
VERIFICATION_TOKEN_LENGTH=(int, 32),
8081
PERSONAL_DATA_RETENTION_PERIOD_MONTHS=(int, 24),
8182
UPDATE_LAST_LOGIN_ENABLED=(bool, True),
8283
UPDATE_LAST_LOGIN_INTERVAL_MINUTES=(int, 60),
@@ -428,6 +429,8 @@
428429
"TARGET_GROUP": env.str("KEYWORD_SET_TARGET_GROUP_ID"),
429430
}
430431

432+
VERIFICATION_TOKEN_VALID_MINUTES = env.int("VERIFICATION_TOKEN_VALID_MINUTES")
433+
VERIFICATION_TOKEN_LENGTH = env.int("VERIFICATION_TOKEN_LENGTH")
431434
VERIFICATION_TOKEN_URL_MAPPING = {
432435
"occurrences.enrolment.CANCELLATION": f"{KULTUS_TEACHER_UI_BASE_URL}"
433436
+ "{lang}/enrolments/cancel/{unique_id}",
@@ -437,7 +440,7 @@
437440

438441
MAX_UPLOAD_SIZE = 2621440 # 2MB
439442

440-
PERSONAL_DATA_RETENTION_PERIOD_MONTHS = env("PERSONAL_DATA_RETENTION_PERIOD_MONTHS")
443+
PERSONAL_DATA_RETENTION_PERIOD_MONTHS = env.int("PERSONAL_DATA_RETENTION_PERIOD_MONTHS")
441444

442445
# local_settings.py can be used to override environment-specific settings
443446
# like database and email that differ between development and production.

verification_token/models.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,6 @@
1111

1212
from organisations.models import Person
1313

14-
VERIFICATION_TOKEN_VALID_MINUTES = getattr(
15-
settings, "VERIFICATION_TOKEN_VALID_MINUTES", 15
16-
)
17-
VERIFICATION_TOKEN_LENGTH = getattr(settings, "VERIFICATION_TOKEN_LENGTH", 32)
18-
1914

2015
class VerificationTokenManager(models.Manager):
2116
def deactivate_token(
@@ -33,7 +28,7 @@ def deactivate_and_create_token(
3328
obj,
3429
person,
3530
verification_type,
36-
expiry_minutes=VERIFICATION_TOKEN_VALID_MINUTES,
31+
expiry_minutes=settings.VERIFICATION_TOKEN_VALID_MINUTES,
3732
):
3833
"""
3934
Deactivate old tokens (of a type) and create a new one.
@@ -47,7 +42,7 @@ def create_token(
4742
person,
4843
verification_type,
4944
email=None,
50-
expiry_minutes=VERIFICATION_TOKEN_VALID_MINUTES,
45+
expiry_minutes=settings.VERIFICATION_TOKEN_VALID_MINUTES,
5146
):
5247
key = self.model.generate_key()
5348

@@ -141,7 +136,7 @@ class VerificationToken(models.Model):
141136
@classmethod
142137
def generate_key(cls):
143138
"""Generates a new key for a verification token."""
144-
return token_urlsafe(VERIFICATION_TOKEN_LENGTH)
139+
return token_urlsafe(settings.VERIFICATION_TOKEN_LENGTH)
145140

146141
def is_valid(self):
147142
"""Validates token state."""

0 commit comments

Comments
 (0)