From 759cbc369dfd8a00030047575e860d8bd4df4fc9 Mon Sep 17 00:00:00 2001 From: Julio-Oliveira-Encora Date: Wed, 5 Jun 2024 15:44:19 -0300 Subject: [PATCH] Added alphabetical ordering of bookmarks. --- netbox/extras/choices.py | 2 ++ netbox/extras/dashboard/widgets.py | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/netbox/extras/choices.py b/netbox/extras/choices.py index 2c9d5836a..514df72f8 100644 --- a/netbox/extras/choices.py +++ b/netbox/extras/choices.py @@ -117,10 +117,12 @@ class BookmarkOrderingChoices(ChoiceSet): ORDERING_NEWEST = '-created' ORDERING_OLDEST = 'created' + ORDERING_NAME_AZ = 'name' CHOICES = ( (ORDERING_NEWEST, _('Newest')), (ORDERING_OLDEST, _('Oldest')), + (ORDERING_NAME_AZ, _('Name (A-Z)')), ) # diff --git a/netbox/extras/dashboard/widgets.py b/netbox/extras/dashboard/widgets.py index add81a318..5d12c27be 100644 --- a/netbox/extras/dashboard/widgets.py +++ b/netbox/extras/dashboard/widgets.py @@ -381,7 +381,12 @@ class BookmarksWidget(DashboardWidget): if request.user.is_anonymous: bookmarks = list() else: - bookmarks = Bookmark.objects.filter(user=request.user).order_by(self.config['order_by']) + if self.config['order_by'] == BookmarkOrderingChoices.ORDERING_NAME_AZ: + bookmarks = sorted(Bookmark.objects.filter(user=request.user), + key=lambda bookmark: bookmark.__str__().lower() + ) + else: + bookmarks = Bookmark.objects.filter(user=request.user).order_by(self.config['order_by']) if object_types := self.config.get('object_types'): models = get_models_from_content_types(object_types) conent_types = ObjectType.objects.get_for_models(*models).values()