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,22 +3,22 @@
{% block wrapper %}
<div id="wrapper" class="dashboard">
{% block messages %}
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}" {% endif %}>
{{ message }}
</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}
{% block section_nav %}{% endblock %}
{% block hero %}{% endblock %}
{% block content %}{% endblock %}
{% block content %}
{% block messages %}
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}" {% endif %}>
{{ message }}
</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}
{% endblock %}
<div role="complementary">{% block complementary %}{% endblock %}</div>

View file

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

View file

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

View file

@ -825,13 +825,19 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
def get_success_message(self, delete_self = False):
"""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
if email_or_name is None:
if email_or_name is None or email_or_name.strip() == "":
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:
message = f"You are no longer managing the domain {self.object.domain}."
else:
message = f"Removed {email_or_name} as a manager for this domain."
return message
def form_valid(self, form):
@ -839,7 +845,7 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
super().form_valid(form)
# 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
messages.success(self.request, self.get_success_message(delete_self))
@ -851,7 +857,8 @@ class DomainDeleteUserView(UserDomainRolePermissionDeleteView):
response = super().post(request, *args, **kwargs)
# 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 response