Add success message for self delete

This commit is contained in:
zandercymatics 2024-01-16 11:56:49 -07:00
parent 40e91ead1f
commit 12d5905ef9
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
4 changed files with 27 additions and 16 deletions

View file

@ -3,6 +3,10 @@
{% block wrapper %} {% block wrapper %}
<div id="wrapper" class="dashboard"> <div id="wrapper" class="dashboard">
{% block section_nav %}{% endblock %}
{% block hero %}{% endblock %}
{% block content %}
{% block messages %} {% block messages %}
{% if messages %} {% if messages %}
<ul class="messages"> <ul class="messages">
@ -14,11 +18,7 @@
</ul> </ul>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
{% endblock %}
{% block section_nav %}{% endblock %}
{% block hero %}{% endblock %}
{% block content %}{% endblock %}
<div role="complementary">{% block complementary %}{% endblock %}</div> <div role="complementary">{% block complementary %}{% endblock %}</div>

View file

@ -10,6 +10,9 @@
{# the entire logged in page goes here #} {# the entire logged in page goes here #}
<div class="tablet:grid-offset-1 desktop:grid-offset-2"> <div class="tablet:grid-offset-1 desktop:grid-offset-2">
{% block messages %}
{% include "includes/form_messages.html" %}
{% endblock %}
<h1>Manage your domains</h2> <h1>Manage your domains</h2>
<p class="margin-top-4"> <p class="margin-top-4">

View file

@ -23,6 +23,7 @@ SAMPLE_KWARGS = {
"content_type_id": "2", "content_type_id": "2",
"object_id": "3", "object_id": "3",
"domain": "whitehouse.gov", "domain": "whitehouse.gov",
"user_pk": "1",
} }
# Our test suite will ignore some namespaces. # Our test suite will ignore some namespaces.

View file

@ -825,13 +825,19 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
def get_success_message(self, delete_self = False): def get_success_message(self, delete_self = False):
"""Returns confirmation content for the deletion event """ """Returns confirmation content for the deletion event """
# Grab the text representation of the user we want to delete
email_or_name = self.object.user.email email_or_name = self.object.user.email
if email_or_name is None: if email_or_name is None or email_or_name.strip() == "":
email_or_name = self.object.user email_or_name = self.object.user
# If the user is deleting themselves, return a special message.
# If not, return something more generic.
if delete_self: if delete_self:
message = f"You are no longer managing the domain {self.object.domain}." message = f"You are no longer managing the domain {self.object.domain}."
else: else:
message = f"Removed {email_or_name} as a manager for this domain." message = f"Removed {email_or_name} as a manager for this domain."
return message return message
def form_valid(self, form): def form_valid(self, form):
@ -839,7 +845,7 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
super().form_valid(form) super().form_valid(form)
# Is the user deleting themselves? If so, display a different message # Is the user deleting themselves? If so, display a different message
delete_self = self.request.user.email == self.object.user.email delete_self = self.request.user == self.object.user
# Add a success message # Add a success message
messages.success(self.request, self.get_success_message(delete_self)) messages.success(self.request, self.get_success_message(delete_self))
@ -851,7 +857,8 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
response = super().post(request, *args, **kwargs) response = super().post(request, *args, **kwargs)
# If the user is deleting themselves, redirect to home # If the user is deleting themselves, redirect to home
if self.request.user == self.object.user: delete_self = self.request.user == self.object.user
if delete_self:
return redirect(reverse("home")) return redirect(reverse("home"))
return response return response