summaryrefslogtreecommitdiffstats
path: root/server/src
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2020-01-03 13:12:19 -0500
committerDessalines <tyhou13@gmx.com>2020-01-03 13:12:19 -0500
commitc252785632f91d5c819a723d6cfbbf0512e40c06 (patch)
tree6a307976ea428d5498ac2e1e890faed2be1a4317 /server/src
parentf6f2e7144f3cd5480285be7dbd32ed84559049ab (diff)
Don't send email notification for self replies.
- Fixes #401
Diffstat (limited to 'server/src')
-rw-r--r--server/src/api/comment.rs68
1 files changed, 36 insertions, 32 deletions
diff --git a/server/src/api/comment.rs b/server/src/api/comment.rs
index 5c3417dd..62759578 100644
--- a/server/src/api/comment.rs
+++ b/server/src/api/comment.rs
@@ -137,43 +137,47 @@ impl Perform<CommentResponse> for Oper<CreateComment> {
match data.parent_id {
Some(parent_id) => {
let parent_comment = Comment::read(&conn, parent_id)?;
- let parent_user = User_::read(&conn, parent_comment.creator_id)?;
- if parent_user.send_notifications_to_email {
- if let Some(comment_reply_email) = parent_user.email {
- let subject = &format!(
- "{} - Reply from {}",
- Settings::get().hostname,
- claims.username
- );
- let html = &format!(
- "<h1>Comment Reply</h1><br><div>{} - {}</div><br><a href={}/inbox>inbox</a>",
- claims.username, comment_form.content, hostname
- );
- match send_email(subject, &comment_reply_email, &parent_user.name, html) {
- Ok(_o) => _o,
- Err(e) => eprintln!("{}", e),
- };
+ if parent_comment.creator_id != user_id {
+ let parent_user = User_::read(&conn, parent_comment.creator_id)?;
+ if parent_user.send_notifications_to_email {
+ if let Some(comment_reply_email) = parent_user.email {
+ let subject = &format!(
+ "{} - Reply from {}",
+ Settings::get().hostname,
+ claims.username
+ );
+ let html = &format!(
+ "<h1>Comment Reply</h1><br><div>{} - {}</div><br><a href={}/inbox>inbox</a>",
+ claims.username, comment_form.content, hostname
+ );
+ match send_email(subject, &comment_reply_email, &parent_user.name, html) {
+ Ok(_o) => _o,
+ Err(e) => eprintln!("{}", e),
+ };
+ }
}
}
}
// Its a post
None => {
- let parent_user = User_::read(&conn, post.creator_id)?;
- if parent_user.send_notifications_to_email {
- if let Some(post_reply_email) = parent_user.email {
- let subject = &format!(
- "{} - Reply from {}",
- Settings::get().hostname,
- claims.username
- );
- let html = &format!(
- "<h1>Post Reply</h1><br><div>{} - {}</div><br><a href={}/inbox>inbox</a>",
- claims.username, comment_form.content, hostname
- );
- match send_email(subject, &post_reply_email, &parent_user.name, html) {
- Ok(_o) => _o,
- Err(e) => eprintln!("{}", e),
- };
+ if post.creator_id != user_id {
+ let parent_user = User_::read(&conn, post.creator_id)?;
+ if parent_user.send_notifications_to_email {
+ if let Some(post_reply_email) = parent_user.email {
+ let subject = &format!(
+ "{} - Reply from {}",
+ Settings::get().hostname,
+ claims.username
+ );
+ let html = &format!(
+ "<h1>Post Reply</h1><br><div>{} - {}</div><br><a href={}/inbox>inbox</a>",
+ claims.username, comment_form.content, hostname
+ );
+ match send_email(subject, &post_reply_email, &parent_user.name, html) {
+ Ok(_o) => _o,
+ Err(e) => eprintln!("{}", e),
+ };
+ }
}
}
}