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