Browse Source

Pass the claim invited_by_email in case it was not in db

pull/3899/head
Timshel 2 months ago
parent
commit
5711080670
  1. 5
      src/api/core/organizations.rs

5
src/api/core/organizations.rs

@ -1328,7 +1328,7 @@ async fn accept_invite(
// skip invitation logic when we were invited via the /admin panel // skip invitation logic when we were invited via the /admin panel
if **member_id != FAKE_ADMIN_UUID { if **member_id != FAKE_ADMIN_UUID {
let Some(member) = Membership::find_by_uuid_and_org(member_id, &claims.org_id, &mut conn).await else { let Some(mut member) = Membership::find_by_uuid_and_org(member_id, &claims.org_id, &mut conn).await else {
err!("Error accepting the invitation") err!("Error accepting the invitation")
}; };
@ -1338,6 +1338,9 @@ async fn accept_invite(
false => None, false => None,
}; };
// In case the user was invited before the mail was saved in db.
member.invited_by_email = member.invited_by_email.or(claims.invited_by_email);
accept_org_invite(&headers.user, member, reset_password_key, &mut conn).await?; accept_org_invite(&headers.user, member, reset_password_key, &mut conn).await?;
} else if CONFIG.mail_enabled() { } else if CONFIG.mail_enabled() {
// User was invited from /admin, so they are automatically confirmed // User was invited from /admin, so they are automatically confirmed

Loading…
Cancel
Save