From 27caf0ef7d5fbda9b17d870028d9eba6400f0b57 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Fri, 15 Jan 2021 17:36:46 +0100 Subject: [PATCH] Do not show inactive dashboard widgets as available widgets --- aleksis/core/models.py | 12 ++++++++++-- aleksis/core/views.py | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/aleksis/core/models.py b/aleksis/core/models.py index d0042d654..8927844a4 100644 --- a/aleksis/core/models.py +++ b/aleksis/core/models.py @@ -239,7 +239,10 @@ class Person(ExtensibleModel): @property def dashboard_widgets(self): return [ - w.widget for w in DashboardWidgetOrder.objects.filter(person=self).order_by("order") + w.widget + for w in DashboardWidgetOrder.objects.filter(person=self, widget__active=True).order_by( + "order" + ) ] def save(self, *args, **kwargs): @@ -749,7 +752,12 @@ class DashboardWidgetOrder(ExtensibleModel): @classproperty def default_dashboard_widgets(cls): """Get default order for dashboard widgets.""" - return [w.widget for w in cls.objects.filter(person=None, default=True).order_by("order")] + return [ + w.widget + for w in cls.objects.filter(person=None, default=True, widget__active=True).order_by( + "order" + ) + ] class Meta: verbose_name = _("Dashboard widget order") diff --git a/aleksis/core/views.py b/aleksis/core/views.py index 44e1aa33d..41b36acfb 100644 --- a/aleksis/core/views.py +++ b/aleksis/core/views.py @@ -868,7 +868,9 @@ class EditDashboardView(View): if not self.default_dashboard else DashboardWidgetOrder.default_dashboard_widgets ) - not_used_widgets = DashboardWidget.objects.exclude(pk__in=[w.pk for w in widgets]) + not_used_widgets = DashboardWidget.objects.exclude(pk__in=[w.pk for w in widgets]).filter( + active=True + ) context["widgets"] = widgets context["not_used_widgets"] = not_used_widgets -- GitLab