From cb771f62083c7133ab5e04101390e4e9256b5d0b Mon Sep 17 00:00:00 2001 From: asaki222 Date: Thu, 31 Oct 2024 14:55:17 -0400 Subject: [PATCH] changes --- src/registrar/views/__init__.py | 1 + src/registrar/views/domain.py | 34 ++++++++++++++++----------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/registrar/views/__init__.py b/src/registrar/views/__init__.py index cd3f74fc8..6b3bcac7c 100644 --- a/src/registrar/views/__init__.py +++ b/src/registrar/views/__init__.py @@ -12,6 +12,7 @@ from .domain import ( DomainUsersView, DomainAddUserView, DomainInvitationDeleteView, + DomainInvitationCancelView, DomainDeleteUserView, ) from .user_profile import UserProfileView, FinishProfileSetupView diff --git a/src/registrar/views/domain.py b/src/registrar/views/domain.py index ab368b614..d437bce5a 100644 --- a/src/registrar/views/domain.py +++ b/src/registrar/views/domain.py @@ -1054,26 +1054,26 @@ class DomainAddUserView(DomainFormBaseView): # # The order of the superclasses matters here. BaseDeleteView has a bug where the # # "form_valid" function does not call super, so it cannot use SuccessMessageMixin. # # The workaround is to use SuccessMessageMixin first. -# class DomainInvitationDeleteView(SuccessMessageMixin, DomainInvitationPermissionDeleteView): -# object: DomainInvitation # workaround for type mismatch in DeleteView +class DomainInvitationDeleteView(SuccessMessageMixin, DomainInvitationPermissionDeleteView): + object: DomainInvitation # workaround for type mismatch in DeleteView -# def post(self, request, *args, **kwargs): -# """Override post method in order to error in the case when the -# domain invitation status is RETRIEVED""" -# self.object = self.get_object() -# form = self.get_form() -# if form.is_valid() and self.object.status == self.object.DomainInvitationStatus.INVITED: -# return self.form_valid(form) -# else: -# # Produce an error message if the domain invatation status is RETRIEVED -# messages.error(request, f"Invitation to {self.object.email} has already been retrieved.") -# return HttpResponseRedirect(self.get_success_url()) + def post(self, request, *args, **kwargs): + """Override post method in order to error in the case when the + domain invitation status is RETRIEVED""" + self.object = self.get_object() + form = self.get_form() + if form.is_valid() and self.object.status == self.object.DomainInvitationStatus.INVITED: + return self.form_valid(form) + else: + # Produce an error message if the domain invatation status is RETRIEVED + messages.error(request, f"Invitation to {self.object.email} has already been retrieved.") + return HttpResponseRedirect(self.get_success_url()) -# def get_success_url(self): -# return reverse("domain-users", kwargs={"pk": self.object.domain.id}) + def get_success_url(self): + return reverse("domain-users", kwargs={"pk": self.object.domain.id}) -# def get_success_message(self, cleaned_data): -# return f"Canceled invitation to {self.object.email}." + def get_success_message(self, cleaned_data): + return f"Canceled invitation to {self.object.email}." class DomainInvitationCancelView(SuccessMessageMixin, DomainInvitationUpdateView):