kopia lustrzana https://github.com/wagtail/wagtail
Fix form action URL in user edit and delete views for custom user models (#11951)
* Add test for the form action URL in the user edit and delete views
* Reinstate context_object_name in users EditView and DeleteView
Mistakenly removed in 83e79301a9
pull/11953/head
rodzic
a09bba67cd
commit
36892908b6
|
@ -782,6 +782,12 @@ class TestUserDeleteView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
|
|||
self.assertTemplateUsed(response, "wagtailusers/users/confirm_delete.html")
|
||||
self.assertBreadcrumbsNotRendered(response.content)
|
||||
|
||||
# Should render the form with the correct action URL
|
||||
soup = self.get_soup(response.content)
|
||||
delete_url = reverse("wagtailusers_users:delete", args=(self.test_user.pk,))
|
||||
form_action = soup.select_one("form").attrs["action"]
|
||||
self.assertEqual(form_action, delete_url)
|
||||
|
||||
def test_delete(self):
|
||||
response = self.post(follow=True)
|
||||
|
||||
|
@ -990,9 +996,13 @@ class TestUserEditView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
|
|||
history_link = header.find("a", attrs={"href": history_url})
|
||||
self.assertIsNotNone(history_link)
|
||||
|
||||
# Should render the form with the correct action URL
|
||||
edit_url = reverse("wagtailusers_users:edit", args=(self.test_user.pk,))
|
||||
form_action = soup.select_one("form").attrs["action"]
|
||||
self.assertEqual(form_action, edit_url)
|
||||
|
||||
url_finder = AdminURLFinder(self.current_user)
|
||||
expected_url = f"/admin/users/edit/{self.test_user.pk}/"
|
||||
self.assertEqual(url_finder.get_edit_url(self.test_user), expected_url)
|
||||
self.assertEqual(url_finder.get_edit_url(self.test_user), edit_url)
|
||||
|
||||
def test_legacy_url_redirect(self):
|
||||
with self.assertWarnsMessage(
|
||||
|
|
|
@ -286,6 +286,7 @@ class Edit(EditView):
|
|||
|
||||
success_message = gettext_lazy("User '%(object)s' updated.")
|
||||
error_message = gettext_lazy("The user could not be saved due to errors.")
|
||||
context_object_name = "user"
|
||||
|
||||
def setup(self, request, *args, **kwargs):
|
||||
super().setup(request, *args, **kwargs)
|
||||
|
@ -339,6 +340,7 @@ class Delete(DeleteView):
|
|||
|
||||
page_title = gettext_lazy("Delete user")
|
||||
success_message = gettext_lazy("User '%(object)s' deleted.")
|
||||
context_object_name = "user"
|
||||
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
self.object = self.get_object()
|
||||
|
|
Ładowanie…
Reference in New Issue