Skip to content

Commit a0d70c1

Browse files
robwaapragacz
authored andcommitted
Adapt checks to new setting fields
1 parent 065a2f2 commit a0d70c1

File tree

2 files changed

+41
-11
lines changed

2 files changed

+41
-11
lines changed

rest_registration/checks.py

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,11 @@ def auth_installed_check() -> bool:
3737
ErrorCode.NO_RESET_PASSWORD_VER_URL,
3838
)
3939
def reset_password_verification_url_check() -> bool:
40+
sends_emails = (registration_settings.RESET_PASSWORD_VERIFICATION_ENABLED
41+
and registration_settings.is_default(
42+
'RESET_PASSWORD_VERIFICATION_EMAIL_SENDER'))
4043
return implies(
41-
registration_settings.RESET_PASSWORD_VERIFICATION_ENABLED,
44+
sends_emails,
4245
registration_settings.RESET_PASSWORD_VERIFICATION_URL,
4346
)
4447

@@ -50,8 +53,11 @@ def reset_password_verification_url_check() -> bool:
5053
ErrorCode.NO_REGISTER_VER_URL,
5154
)
5255
def register_verification_url_check() -> bool:
56+
sends_emails = (registration_settings.REGISTER_VERIFICATION_ENABLED
57+
and registration_settings.is_default(
58+
'REGISTER_VERIFICATION_EMAIL_SENDER'))
5359
return implies(
54-
registration_settings.REGISTER_VERIFICATION_ENABLED,
60+
sends_emails,
5561
registration_settings.REGISTER_VERIFICATION_URL,
5662
)
5763

@@ -63,8 +69,11 @@ def register_verification_url_check() -> bool:
6369
ErrorCode.NO_REGISTER_EMAIL_VER_URL,
6470
)
6571
def register_email_verification_url_check() -> bool:
72+
sends_emails = (registration_settings.REGISTER_EMAIL_VERIFICATION_ENABLED
73+
and registration_settings.is_default(
74+
'REGISTER_EMAIL_VERIFICATION_EMAIL_SENDER'))
6675
return implies(
67-
registration_settings.REGISTER_EMAIL_VERIFICATION_ENABLED,
76+
sends_emails,
6877
registration_settings.REGISTER_EMAIL_VERIFICATION_URL,
6978
)
7079

@@ -75,12 +84,19 @@ def register_email_verification_url_check() -> bool:
7584
ErrorCode.NO_VER_FROM_EMAIL,
7685
)
7786
def verification_from_check() -> bool:
87+
sends_emails = any([
88+
registration_settings.REGISTER_VERIFICATION_ENABLED
89+
and registration_settings.is_default(
90+
'REGISTER_VERIFICATION_EMAIL_SENDER'),
91+
registration_settings.REGISTER_EMAIL_VERIFICATION_ENABLED
92+
and registration_settings.is_default(
93+
'REGISTER_EMAIL_VERIFICATION_EMAIL_SENDER'),
94+
registration_settings.RESET_PASSWORD_VERIFICATION_ENABLED
95+
and registration_settings.is_default(
96+
'RESET_PASSWORD_VERIFICATION_EMAIL_SENDER'),
97+
])
7898
return implies(
79-
any([
80-
registration_settings.REGISTER_VERIFICATION_ENABLED,
81-
registration_settings.REGISTER_EMAIL_VERIFICATION_ENABLED,
82-
registration_settings.RESET_PASSWORD_VERIFICATION_ENABLED,
83-
]),
99+
sends_emails,
84100
registration_settings.VERIFICATION_FROM_EMAIL,
85101
)
86102

@@ -156,8 +172,11 @@ def register_verification_one_time_auto_login_check() -> bool:
156172
ErrorCode.INVALID_EMAIL_TEMPLATE_CONFIG,
157173
)
158174
def valid_register_verification_email_template_config_check() -> None:
175+
sends_emails = (registration_settings.REGISTER_VERIFICATION_ENABLED
176+
and registration_settings.is_default(
177+
'REGISTER_VERIFICATION_EMAIL_SENDER'))
159178
_validate_email_template_config(
160-
registration_settings.REGISTER_VERIFICATION_ENABLED,
179+
sends_emails,
161180
registration_settings.REGISTER_VERIFICATION_EMAIL_TEMPLATES,
162181
)
163182

@@ -168,8 +187,11 @@ def valid_register_verification_email_template_config_check() -> None:
168187
ErrorCode.INVALID_EMAIL_TEMPLATE_CONFIG,
169188
)
170189
def valid_reset_password_verification_email_template_config_check() -> None:
190+
sends_emails = (registration_settings.RESET_PASSWORD_VERIFICATION_ENABLED
191+
and registration_settings.is_default(
192+
'RESET_PASSWORD_VERIFICATION_EMAIL_SENDER'))
171193
_validate_email_template_config(
172-
registration_settings.RESET_PASSWORD_VERIFICATION_ENABLED,
194+
sends_emails,
173195
registration_settings.RESET_PASSWORD_VERIFICATION_EMAIL_TEMPLATES,
174196
)
175197

@@ -180,8 +202,11 @@ def valid_reset_password_verification_email_template_config_check() -> None:
180202
ErrorCode.INVALID_EMAIL_TEMPLATE_CONFIG,
181203
)
182204
def valid_register_email_verification_email_template_config_check() -> None:
205+
sends_emails = (registration_settings.REGISTER_EMAIL_VERIFICATION_ENABLED
206+
and registration_settings.is_default(
207+
'REGISTER_EMAIL_VERIFICATION_EMAIL_SENDER'))
183208
_validate_email_template_config(
184-
registration_settings.REGISTER_EMAIL_VERIFICATION_ENABLED,
209+
sends_emails,
185210
registration_settings.REGISTER_EMAIL_VERIFICATION_EMAIL_TEMPLATES,
186211
)
187212

rest_registration/utils/nested_settings.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ def reset_attr_cache(self) -> None:
3636
if hasattr(self, key):
3737
delattr(self, key)
3838

39+
def is_default(self, attr: str) -> bool:
40+
if attr not in self.user_settings:
41+
return True
42+
return self.user_settings[attr] == self.defaults[attr]
43+
3944
def __getattr__(self, attr: str) -> Any:
4045
if attr not in self.defaults.keys():
4146
raise AttributeError(

0 commit comments

Comments
 (0)