fix commitment, do not send duplicate invites, disable buttons on working

This commit is contained in:
2025-09-19 23:00:54 +02:00
parent 1f9f2dc21c
commit 6c10027122
7 changed files with 139 additions and 101 deletions
@@ -25,6 +25,10 @@ public class ContactDataManager {
return contactDataRepository.findByContactAndReportedBy(contact, reportedBy).orElse(null);
}
public ContactData findByContactAndEmail(Long contact, String email) {
return contactDataRepository.findByContactAndEmail(contact, email).orElse(null);
}
public ContactData findByinviteToken(String inviteToken) {
return contactDataRepository.findByinviteToken(inviteToken).orElse(null);
}
@@ -65,7 +65,11 @@ public class ContactDataController {
inviteToken = ContactManager.generateToken();
}
contactData.setInviteToken(inviteToken);
contactDataManager.sendInviteMail(contact, contactData, reportedBy);
if (contactDataManager.findByContactAndEmail(contact.getId(), contactData.getEmail()) == null) {
contactDataManager.sendInviteMail(contact, contactData, reportedBy);
}
sendToken = false;
}
contactDataManager.save(contactData);
@@ -33,7 +33,7 @@ public class FrontendController {
model.addAttribute("token", token);
model.addAttribute("userName", contact.getName());
model.addAttribute("altName", contact.getUpdatedName());
model.addAttribute("altName", contact.getUpdatedName());
model.addAttribute("committed", contact.getCommitted());
ContactData contactData = contactDataManager.findByContactAndReportedBy(contact.getId(),
contact.getId());
@@ -12,5 +12,7 @@ public interface ContactDataRepository extends JpaRepository<ContactData, Long>
Optional<ContactData> findByContactAndReportedBy(Long contact, Long reportedBy);
Optional<ContactData> findByContactAndEmail(Long contact, String email);
Optional<ContactData> findByinviteToken(String inviteToken);
}