From 5eb8af36960f4427d855a4c3e0e6233da0d44775 Mon Sep 17 00:00:00 2001 From: Alice Heaton <aliceh@aptivate.org> Date: Fri, 24 Jul 2015 15:14:24 +0100 Subject: [PATCH] Ensure render_widget works if a widget has no 'get_context_data', and fix dashboard tests --- django/website/dashboard/templatetags/render_widget.py | 2 ++ django/website/dashboard/tests/widget_tests.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/django/website/dashboard/templatetags/render_widget.py b/django/website/dashboard/templatetags/render_widget.py index a31eeca9..e9de818e 100644 --- a/django/website/dashboard/templatetags/render_widget.py +++ b/django/website/dashboard/templatetags/render_widget.py @@ -51,6 +51,8 @@ def render_widget(widget_instance): # Get context try: context = widget.get_context_data(**settings) + except AttributeError: + context = {} except Exception as e: logger.exception('Error while fetching widget context data: %s', e) template_name = 'dashboard/widget-error.html' diff --git a/django/website/dashboard/tests/widget_tests.py b/django/website/dashboard/tests/widget_tests.py index 10c80267..2b69bc33 100644 --- a/django/website/dashboard/tests/widget_tests.py +++ b/django/website/dashboard/tests/widget_tests.py @@ -150,5 +150,5 @@ class WidgetPoolTestCase(TestCase): mock, 'template_name' ) self.assertEqual( - template_name, 'dashboard/widget-missing-template.html' + template_name, 'dashboard/widget-error.html' ) -- GitLab