Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notifications: Don't send mail if recipient has no email address. #680

Merged
merged 2 commits into from
Dec 6, 2023

Conversation

thet
Copy link
Member

@thet thet commented Dec 5, 2023

Ref: scrum-1572

@thet thet requested review from ale-rt and reinhardt December 5, 2023 17:19
@@ -103,6 +103,15 @@ def index(self):
)
)

def send_email(self):
if not self.account.email:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't work for DTMB because the email address is not in the account there. On the other hand in plain euphorie this is unnecessary because the user ID is an email address, so every account has an email.

You probably need to use webhelpers.get_user_email().

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO you should not even reach this point.
Results should be filter out earlier.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@reinhardt tnx for the pointer. fixed.

@ale-rt that would involve two things:
a) Implementing this logic and the logging message in all of the different notification classes.
b) or restructuring the code so that the notification base class does that.

I think we can't or shouldn't filter out on the SQL query level - the ws_user_cache reponse JSON‌ field wouldn't allow that easily (not considering Postgres' JSON capabilities, which I‌ don't have experience with) and we would loose the logging feature.

I'm 👎 for a) and :+0: for b) - we're over budget and we would need a full test circle again.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, Alex is going to be furious if we do more than this quick fix.

In other projects the user management can be implemented differently, so
that account.email doesn't return the actual email address and some more
magic is necessary. This fix uses webhelpers.get_user_email which can be
customized in depending projects.
@thet thet requested a review from reinhardt December 6, 2023 09:36
@thet
Copy link
Member Author

thet commented Dec 6, 2023

Merging this.
@ale-rt we can always optimize later. We might even find the need to rethink the architecture if we find any shortcomings when this feature is used in production.

@thet thet merged commit a0e5353 into main Dec 6, 2023
1 check passed
@thet thet deleted the notifications-fix-mails branch December 6, 2023 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants