Skip to content

Commit 06e1dbe

Browse files
committed
[#1548] process PR feedback
1 parent b6d1b6f commit 06e1dbe

File tree

6 files changed

+46
-22
lines changed

6 files changed

+46
-22
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated by Django 3.2.15 on 2023-06-23 08:35
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("accounts", "0061_auto_20230612_1428"),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name="user",
15+
name="deactivated_on",
16+
field=models.DateField(
17+
blank=True,
18+
help_text="This is the date the user decided to deactivate their account. This field is deprecated since user profiles are now immediately deleted.",
19+
null=True,
20+
verbose_name="Deactivated on",
21+
),
22+
),
23+
]

src/open_inwoner/accounts/models.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,11 @@ class User(AbstractBaseUser, PermissionsMixin):
144144
verbose_name=_("Deactivated on"),
145145
null=True,
146146
blank=True,
147-
help_text=_("This is the date the user decided to deactivate their account."),
147+
help_text=_(
148+
"This is the date the user decided to deactivate their account. "
149+
"This field is deprecated since user profiles are now immediately "
150+
"deleted."
151+
),
148152
)
149153
is_prepopulated = models.BooleanField(
150154
verbose_name=_("Prepopulated"),

src/open_inwoner/accounts/tests/test_logging.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,9 @@ def test_logout_is_logged(self):
205205
},
206206
)
207207

208-
def test_users_deactivation_is_logged(self):
208+
def test_users_deletion_is_logged(self):
209209
form = self.app.get(reverse("profile:detail"), user=self.user).forms[
210-
"deactivate-form"
210+
"delete-form"
211211
]
212212
form.submit()
213213
log_entry = TimelineLog.objects.last()
@@ -218,7 +218,7 @@ def test_users_deactivation_is_logged(self):
218218
self.assertEqual(
219219
log_entry.extra_data,
220220
{
221-
"message": _("user was deactivated via frontend"),
221+
"message": _("user was deleted via frontend"),
222222
"action_flag": list(LOG_ACTIONS[4]),
223223
"content_object_repr": self.user.email,
224224
},

src/open_inwoner/accounts/tests/test_profile_views.py

+6-10
Original file line numberDiff line numberDiff line change
@@ -532,10 +532,9 @@ def test_delete_regular_user_success(self):
532532

533533
# get profile page
534534
response = self.app.get(self.url, user=user)
535-
self.assertEqual(response.status_code, 200)
536535

537536
# check delete
538-
response = response.forms["deactivate-form"].submit()
537+
response = response.forms["delete-form"].submit()
539538
self.assertIsNone(User.objects.first())
540539

541540
# check redirect
@@ -552,10 +551,9 @@ def test_delete_user_with_digid_login_success(self):
552551

553552
# get profile page
554553
response = self.app.get(self.url, user=user)
555-
self.assertEqual(response.status_code, 200)
556554

557555
# check user deleted
558-
response = response.forms["deactivate-form"].submit()
556+
response = response.forms["delete-form"].submit()
559557
self.assertIsNone(User.objects.first())
560558

561559
# check redirect
@@ -567,16 +565,15 @@ def test_delete_user_with_digid_login_success(self):
567565
fetch_redirect_response=True,
568566
)
569567

570-
def test_delete_regular_with_existing_plans_fail(self):
568+
def test_delete_regular_user_as_plan_contact_fail(self):
571569
user = UserFactory()
572-
PlanFactory.create(created_by=user)
570+
PlanFactory.create(plan_contacts=[user])
573571

574572
# get profile page
575573
response = self.app.get(self.url, user=user)
576-
self.assertEqual(response.status_code, 200)
577574

578575
# check user not deleted
579-
response = response.forms["deactivate-form"].submit()
576+
response = response.forms["delete-form"].submit()
580577
self.assertEqual(User.objects.first(), user)
581578

582579
# check redirect
@@ -593,10 +590,9 @@ def test_delete_staff_user_via_frontend_does_not_work(self):
593590

594591
# get profile page
595592
response = self.app.get(self.url, user=user)
596-
self.assertEqual(response.status_code, 200)
597593

598594
# check staff user not deleted
599-
response = response.forms["deactivate-form"].submit()
595+
response = response.forms["delete-form"].submit()
600596
self.assertEqual(User.objects.first(), user)
601597

602598
# check redirect

src/open_inwoner/accounts/views/profile.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from django.conf import settings
44
from django.contrib import messages
55
from django.contrib.auth.mixins import LoginRequiredMixin
6+
from django.db.models import Q
67
from django.forms.forms import Form
78
from django.http import HttpResponseRedirect
89
from django.shortcuts import redirect
@@ -108,25 +109,25 @@ def post(self, request, *args, **kwargs):
108109
if request.user.is_authenticated and not request.user.is_staff:
109110
instance = User.objects.get(id=request.user.id)
110111

111-
# check if there are still plans associated witht the user
112-
if Plan.objects.filter(created_by=instance).exists():
112+
# check if there are still plans created by or associated witht the user
113+
if Plan.objects.connected(instance):
113114
messages.warning(
114115
request,
115116
_(
116-
"You still have plans associated with your profile. "
117-
"Please delete those plans before deleting your profile."
117+
"Your profile could not be deleted because you still "
118+
"have plans associated with it."
118119
),
119120
)
120121
return redirect("profile:detail")
121122

122123
# continue with delete
123-
self.log_user_action(instance, _("user was deactivated via frontend"))
124+
self.log_user_action(instance, _("user was deleted via frontend"))
124125
instance.delete()
125126
request.session.flush()
126127

127128
return redirect(reverse("logout"))
128129
else:
129-
messages.warning(request, _("Uw account kon niet worden gedeactiveerd"))
130+
messages.warning(request, _("Uw account kon niet worden verwijderd"))
130131
return redirect("profile:detail")
131132

132133

src/open_inwoner/templates/pages/profile/me.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,9 @@ <h1 class="h1" id="overview">{% trans "Persoonlijk overzicht" %}</h1>
129129
</div> {% endcomment %}
130130
</div>
131131

132-
{% render_form form=form method="POST" id="deactivate-form" extra_classes="confirm" spaceless=True data_confirm_title=_("Weet u zeker dat u uw account wilt verwijderen?") data_confirm_text=_("Hiermee worden alleen uw persoonlijke voorkeuren verwijderd. U krijgt dan bijvoorbeeld geen e-mail meer van ons over wijzigingen van uw lopende zaken. Uw persoonsgegevens en uw lopende zaken zelf worden hiermee niet verwijderd.") data_confirm_cancel=_("Nee") data_confirm_default=_("Ja") %}
132+
{% render_form form=form method="POST" id="delete-form" extra_classes="confirm" spaceless=True data_confirm_title=_("Weet u zeker dat u uw account wilt verwijderen?") data_confirm_text=_("Hiermee worden alleen uw persoonlijke voorkeuren verwijderd. U krijgt dan bijvoorbeeld geen e-mail meer van ons over wijzigingen van uw lopende zaken. Uw persoonsgegevens en uw lopende zaken zelf worden hiermee niet verwijderd.") data_confirm_cancel=_("Nee") data_confirm_default=_("Ja") %}
133133
{% csrf_token %}
134-
{% form_actions primary_text=_("Profiel deactiveren") primary_icon="close" transparent=True %}
134+
{% form_actions primary_text=_("Profiel verwijderen") primary_icon="close" transparent=True %}
135135
{% endrender_form %}
136136

137137
{% if files %}

0 commit comments

Comments
 (0)