diff --git a/aleksis/core/models.py b/aleksis/core/models.py index d0042d654947a30735f3012794f9edf5f162b00f..8927844a47da2f30e030a9b0815e82539940d8ba 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 44e1aa33ddcb3b701ba47ce2fb53822cc52c452e..41b36acfbcff7573366a2328d2d0f9f2a92fe1df 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