Make the last item in the breadcrumbs a link to itself

pull/10884/head
Sage Abdullah 2023-10-03 15:46:40 +01:00
rodzic 3b7aa245a8
commit 84a483589d
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: EB1A33CC51CC0217
14 zmienionych plików z 62 dodań i 40 usunięć

Wyświetl plik

@ -48,7 +48,7 @@
data-w-breadcrumbs-target="content"
{% endif %}
>
{% if item.url %}
{% if item.url is not None %}
<a class="{{ breadcrumb_link_classes }}" href="{{ item.url }}">
{{ item.label }}
</a>

Wyświetl plik

@ -71,7 +71,7 @@ class TestCollectionsIndexViewAsSuperuser(
self.assertNotContains(response, "No collections have been created.")
self.assertContains(response, "Holiday snaps")
self.assertBreadcrumbsItemsRendered(
[{"label": "Collections"}], response.content
[{"url": "", "label": "Collections"}], response.content
)
def test_ordering(self):
@ -210,7 +210,7 @@ class TestAddCollectionAsSuperuser(AdminTemplateTestUtils, WagtailTestUtils, Tes
self.assertBreadcrumbsItemsRendered(
[
{"label": "Collections", "url": "/admin/collections/"},
{"label": "New: Collection"},
{"label": "New: Collection", "url": ""},
],
response.content,
)
@ -335,7 +335,7 @@ class TestEditCollectionAsSuperuser(AdminTemplateTestUtils, WagtailTestUtils, Te
self.assertBreadcrumbsItemsRendered(
[
{"url": "/admin/collections/", "label": "Collections"},
{"label": str(self.collection)},
{"url": "", "label": str(self.collection)},
],
response.content,
)

Wyświetl plik

@ -116,7 +116,10 @@ class TestWorkflowsIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase)
response = self.get()
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailadmin/workflows/index.html")
self.assertBreadcrumbsItemsRendered([{"label": "Workflows"}], response.content)
self.assertBreadcrumbsItemsRendered(
[{"url": "", "label": "Workflows"}],
response.content,
)
# Initially there should be no workflows listed
self.assertContains(response, "There are no enabled workflows.")
@ -207,7 +210,7 @@ class TestWorkflowsCreateView(AdminTemplateTestUtils, WagtailTestUtils, TestCase
self.assertBreadcrumbsItemsRendered(
[
{"label": "Workflows", "url": "/admin/workflows/list/"},
{"label": "New: Workflow"},
{"label": "New: Workflow", "url": ""},
],
response.content,
)
@ -437,7 +440,7 @@ class TestWorkflowsEditView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
self.assertBreadcrumbsItemsRendered(
[
{"url": "/admin/workflows/list/", "label": "Workflows"},
{"label": str(self.workflow)},
{"url": "", "label": str(self.workflow)},
],
response.content,
)
@ -753,7 +756,10 @@ class TestTaskIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
response = self.get()
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailadmin/workflows/task_index.html")
self.assertBreadcrumbsItemsRendered([{"label": "Tasks"}], response.content)
self.assertBreadcrumbsItemsRendered(
[{"url": "", "label": "Tasks"}],
response.content,
)
# Initially there should be no tasks listed
self.assertContains(response, "There are no enabled tasks")
@ -851,7 +857,7 @@ class TestCreateTaskView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
self.assertBreadcrumbsItemsRendered(
[
{"label": "Tasks", "url": "/admin/workflows/tasks/index/"},
{"label": "New: Simple task"},
{"label": "New: Simple task", "url": ""},
],
response.content,
)
@ -975,7 +981,7 @@ class TestEditTaskView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
self.assertBreadcrumbsItemsRendered(
[
{"url": "/admin/workflows/tasks/index/", "label": "Tasks"},
{"label": str(self.task)},
{"url": "", "label": str(self.task)},
],
response.content,
)

Wyświetl plik

@ -659,6 +659,7 @@ class TestBreadcrumbs(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
response = self.client.get(reverse("feature_complete_toy:index"))
items = [
{
"url": "",
"label": "Feature complete toys",
}
]
@ -672,6 +673,7 @@ class TestBreadcrumbs(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
"label": "Feature complete toys",
},
{
"url": "",
"label": "New: Feature complete toy",
},
]
@ -686,6 +688,7 @@ class TestBreadcrumbs(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
"label": "Feature complete toys",
},
{
"url": "",
"label": str(self.object),
},
]

Wyświetl plik

@ -359,7 +359,7 @@ class IndexView(
if not self.model:
return self.breadcrumbs_items
return self.breadcrumbs_items + [
{"label": capfirst(self.model._meta.verbose_name_plural)},
{"url": "", "label": capfirst(self.model._meta.verbose_name_plural)},
]
def get_translations(self):
@ -464,6 +464,7 @@ class CreateView(
)
items.append(
{
"url": "",
"label": _("New: %(model_name)s")
% {"model_name": capfirst(self.model._meta.verbose_name)},
}
@ -619,7 +620,7 @@ class EditView(
"label": capfirst(self.model._meta.verbose_name_plural),
}
)
items.append({"label": get_latest_str(self.object)})
items.append({"url": "", "label": get_latest_str(self.object)})
return self.breadcrumbs_items + items
def get_edit_url(self):
@ -879,7 +880,7 @@ class InspectView(PermissionCheckedMixin, WagtailAdminTemplateMixin, TemplateVie
edit_url = self.get_edit_url()
if edit_url:
items.append({"url": edit_url, "label": get_latest_str(self.object)})
items.append({"label": _("Inspect")})
items.append({"url": "", "label": _("Inspect")})
return self.breadcrumbs_items + items
def get_fields(self):

Wyświetl plik

@ -58,7 +58,7 @@ class UsageView(PermissionCheckedMixin, BaseObjectMixin, BaseListingView):
"label": get_latest_str(self.object),
}
)
items.append({"label": _("Usage")})
items.append({"url": "", "label": _("Usage")})
return self.breadcrumbs_items + items
def get_queryset(self):

Wyświetl plik

@ -509,8 +509,9 @@ class CreateTask(CreateView):
"label": capfirst(Task._meta.verbose_name_plural),
},
{
"url": "",
"label": _("New: %(model_name)s")
% {"model_name": capfirst(self.model._meta.verbose_name)}
% {"model_name": capfirst(self.model._meta.verbose_name)},
},
]
return self.breadcrumbs_items + items
@ -558,7 +559,7 @@ class EditTask(EditView):
"url": reverse(self.index_url_name),
"label": capfirst(Task._meta.verbose_name_plural),
},
{"label": str(self.object)},
{"url": "", "label": str(self.object)},
]
return self.breadcrumbs_items + items

Wyświetl plik

@ -20,7 +20,10 @@ class TestLocaleIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
response = self.get()
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailadmin/generic/index.html")
self.assertBreadcrumbsItemsRendered([{"label": "Locales"}], response.content)
self.assertBreadcrumbsItemsRendered(
[{"url": "", "label": "Locales"}],
response.content,
)
class TestLocaleCreateView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
@ -46,7 +49,7 @@ class TestLocaleCreateView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
self.assertBreadcrumbsItemsRendered(
[
{"label": "Locales", "url": "/admin/locales/"},
{"label": "New: Locale"},
{"label": "New: Locale", "url": ""},
],
response.content,
)
@ -127,7 +130,7 @@ class TestLocaleEditView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
self.assertBreadcrumbsItemsRendered(
[
{"url": "/admin/locales/", "label": "Locales"},
{"label": str(self.english)},
{"url": "", "label": str(self.english)},
],
response.content,
)

Wyświetl plik

@ -20,7 +20,10 @@ class TestSiteIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
response = self.get()
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailadmin/generic/index.html")
self.assertBreadcrumbsItemsRendered([{"label": "Sites"}], response.content)
self.assertBreadcrumbsItemsRendered(
[{"url": "", "label": "Sites"}],
response.content,
)
class TestSiteCreateView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
@ -60,7 +63,7 @@ class TestSiteCreateView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
self.assertBreadcrumbsItemsRendered(
[
{"label": "Sites", "url": "/admin/sites/"},
{"label": "New: Site"},
{"label": "New: Site", "url": ""},
],
response.content,
)
@ -206,7 +209,7 @@ class TestSiteEditView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
self.assertBreadcrumbsItemsRendered(
[
{"url": "/admin/sites/", "label": "Sites"},
{"label": str(self.localhost)},
{"url": "", "label": str(self.localhost)},
],
response.content,
)

Wyświetl plik

@ -97,7 +97,10 @@ class TestSnippetIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
response = self.get()
self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, "wagtailadmin/generic/index.html")
self.assertBreadcrumbsItemsRendered([{"label": "Snippets"}], response.content)
self.assertBreadcrumbsItemsRendered(
[{"url": "", "label": "Snippets"}],
response.content,
)
def test_displays_snippet(self):
self.assertContains(self.get(), "Adverts")

Wyświetl plik

@ -1369,7 +1369,7 @@ class TestBreadcrumbs(AdminTemplateTestUtils, BaseSnippetViewSetTests):
def test_index_view(self):
response = self.client.get(self.get_url("list"))
items = [{"label": "Full-featured snippets"}]
items = [{"url": "", "label": "Full-featured snippets"}]
self.assertBreadcrumbsItemsRendered(items, response.content)
def test_add_view(self):
@ -1379,7 +1379,7 @@ class TestBreadcrumbs(AdminTemplateTestUtils, BaseSnippetViewSetTests):
"url": self.get_url("list"),
"label": "Full-featured snippets",
},
{"label": "New: Full-featured snippet"},
{"url": "", "label": "New: Full-featured snippet"},
]
self.assertBreadcrumbsItemsRendered(items, response.content)
@ -1390,7 +1390,7 @@ class TestBreadcrumbs(AdminTemplateTestUtils, BaseSnippetViewSetTests):
"url": self.get_url("list"),
"label": "Full-featured snippets",
},
{"label": str(self.object)},
{"url": "", "label": str(self.object)},
]
self.assertBreadcrumbsItemsRendered(items, response.content)
@ -1409,7 +1409,7 @@ class TestBreadcrumbs(AdminTemplateTestUtils, BaseSnippetViewSetTests):
"url": self.get_url("edit", args=(self.object.pk,)),
"label": str(self.object),
},
{"label": "History"},
{"url": "", "label": "History"},
]
self.assertBreadcrumbsItemsRendered(items, response.content)
@ -1424,7 +1424,7 @@ class TestBreadcrumbs(AdminTemplateTestUtils, BaseSnippetViewSetTests):
"url": self.get_url("edit", args=(self.object.pk,)),
"label": str(self.object),
},
{"label": "Usage"},
{"url": "", "label": "Usage"},
]
self.assertBreadcrumbsItemsRendered(items, response.content)
@ -1439,6 +1439,6 @@ class TestBreadcrumbs(AdminTemplateTestUtils, BaseSnippetViewSetTests):
"url": self.get_url("edit", args=(self.object.pk,)),
"label": str(self.object),
},
{"label": "Inspect"},
{"url": "", "label": "Inspect"},
]
self.assertBreadcrumbsItemsRendered(items, response.content)

Wyświetl plik

@ -106,7 +106,7 @@ class ModelIndexView(generic.IndexView):
return super().dispatch(request, *args, **kwargs)
def get_breadcrumbs_items(self):
return self.breadcrumbs_items + [{"label": _("Snippets")}]
return self.breadcrumbs_items + [{"url": "", "label": _("Snippets")}]
def get_list_url(self, type):
return reverse(type["model"].snippet_viewset.get_url_name("list"))
@ -489,7 +489,7 @@ class HistoryView(ReportView):
"url": self.get_edit_url(self.object),
"label": get_latest_str(self.object),
},
{"label": _("History")},
{"url": "", "label": _("History")},
]
def get_context_data(self, *args, object_list=None, **kwargs):

Wyświetl plik

@ -41,7 +41,7 @@ class AdminTemplateTestUtils:
)
for item, rendered_item in zip(items, rendered_items):
if item.get("url"):
if item.get("url") is not None:
element = rendered_item.select_one("a")
self.assertIsNotNone(
element,
@ -50,7 +50,7 @@ class AdminTemplateTestUtils:
self.assertEqual(
element["href"],
item["url"],
f"Expected '{item['label']}' breadcrumbs item to link to {item['url']}",
f"Expected '{item['label']}' breadcrumbs item to link to '{item['url']}'",
)
else:
element = rendered_item.select_one("div")

Wyświetl plik

@ -119,7 +119,7 @@ class TestGroupUsersView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
# response should contain page furniture, including the "Add a user" button
self.assertContains(response, "Add a user")
self.assertBreadcrumbsItemsRendered(
[{"label": capfirst(User._meta.verbose_name_plural)}],
[{"url": "", "label": capfirst(User._meta.verbose_name_plural)}],
response.content,
)
@ -208,7 +208,7 @@ class TestUserIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
# response should contain page furniture, including the "Add a user" button
self.assertContains(response, "Add a user")
self.assertBreadcrumbsItemsRendered(
[{"label": capfirst(User._meta.verbose_name_plural)}],
[{"url": "", "label": capfirst(User._meta.verbose_name_plural)}],
response.content,
)
@ -320,7 +320,7 @@ class TestUserCreateView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
"url": "/admin/users/",
"label": capfirst(User._meta.verbose_name_plural),
},
{"label": f"New: {capfirst(User._meta.verbose_name)}"},
{"url": "", "label": f"New: {capfirst(User._meta.verbose_name)}"},
],
response.content,
)
@ -848,7 +848,7 @@ class TestUserEditView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
"url": "/admin/users/",
"label": capfirst(User._meta.verbose_name_plural),
},
{"label": str(self.test_user)},
{"url": "", "label": str(self.test_user)},
],
response.content,
)
@ -1346,7 +1346,9 @@ class TestGroupIndexView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
# response should contain page furniture, including the "Add a group" button
self.assertContains(response, "Add a group")
self.assertBreadcrumbsItemsRendered([{"label": "Groups"}], response.content)
self.assertBreadcrumbsItemsRendered(
[{"url": "", "label": "Groups"}], response.content
)
def test_search(self):
response = self.get({"q": "Hello"})
@ -1413,7 +1415,7 @@ class TestGroupCreateView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
self.assertBreadcrumbsItemsRendered(
[
{"url": "/admin/groups/", "label": "Groups"},
{"label": "New: Group"},
{"url": "", "label": "New: Group"},
],
response.content,
)
@ -1664,7 +1666,7 @@ class TestGroupEditView(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
"url": "/admin/groups/",
"label": "Groups",
},
{"label": str(self.test_group)},
{"url": "", "label": str(self.test_group)},
],
response.content,
)