mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-20 11:29:25 +02:00
hotfix for domain invitation not sending to existing user
This commit is contained in:
parent
1aceeaf624
commit
aa51a325e2
1 changed files with 17 additions and 12 deletions
|
@ -643,16 +643,7 @@ class DomainAddUserView(DomainFormBaseView):
|
||||||
"""Get an absolute URL for this domain."""
|
"""Get an absolute URL for this domain."""
|
||||||
return self.request.build_absolute_uri(reverse("domain", kwargs={"pk": self.object.id}))
|
return self.request.build_absolute_uri(reverse("domain", kwargs={"pk": self.object.id}))
|
||||||
|
|
||||||
def _make_invitation(self, email_address):
|
def _send_domain_invitation_email(self, email_address:str):
|
||||||
"""Make a Domain invitation for this email and redirect with a message."""
|
|
||||||
invitation, created = DomainInvitation.objects.get_or_create(email=email_address, domain=self.object)
|
|
||||||
if not created:
|
|
||||||
# that invitation already existed
|
|
||||||
messages.warning(
|
|
||||||
self.request,
|
|
||||||
f"{email_address} has already been invited to this domain.",
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
# created a new invitation in the database, so send an email
|
# created a new invitation in the database, so send an email
|
||||||
domaininfo = DomainInformation.objects.filter(domain=self.object)
|
domaininfo = DomainInformation.objects.filter(domain=self.object)
|
||||||
first = domaininfo.first().creator.first_name
|
first = domaininfo.first().creator.first_name
|
||||||
|
@ -681,6 +672,17 @@ class DomainAddUserView(DomainFormBaseView):
|
||||||
else:
|
else:
|
||||||
messages.success(self.request, f"Invited {email_address} to this domain.")
|
messages.success(self.request, f"Invited {email_address} to this domain.")
|
||||||
|
|
||||||
|
def _make_invitation(self, email_address:str):
|
||||||
|
"""Make a Domain invitation for this email and redirect with a message."""
|
||||||
|
invitation, created = DomainInvitation.objects.get_or_create(email=email_address, domain=self.object)
|
||||||
|
if not created:
|
||||||
|
# that invitation already existed
|
||||||
|
messages.warning(
|
||||||
|
self.request,
|
||||||
|
f"{email_address} has already been invited to this domain.",
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
self._send_domain_invitation_email(email_address=email_address)
|
||||||
return redirect(self.get_success_url())
|
return redirect(self.get_success_url())
|
||||||
|
|
||||||
def form_valid(self, form):
|
def form_valid(self, form):
|
||||||
|
@ -692,6 +694,9 @@ class DomainAddUserView(DomainFormBaseView):
|
||||||
except User.DoesNotExist:
|
except User.DoesNotExist:
|
||||||
# no matching user, go make an invitation
|
# no matching user, go make an invitation
|
||||||
return self._make_invitation(requested_email)
|
return self._make_invitation(requested_email)
|
||||||
|
else:
|
||||||
|
#if user already exists then just send an email
|
||||||
|
self._send_domain_invitation_email(requested_email)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
UserDomainRole.objects.create(
|
UserDomainRole.objects.create(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue