diff --git a/aleksis/core/models.py b/aleksis/core/models.py index 85b16b1e23e597efb14a91803f7515cbdc2195ac..24b6c8ca1c5f18889679d9c81b972eaac6cd72c4 100644 --- a/aleksis/core/models.py +++ b/aleksis/core/models.py @@ -672,10 +672,10 @@ class DashboardWidget(PolymorphicModel, PureDjangoModel): from aleksis.core.models import DashboardWidget - class MyWidget(DhasboardWIdget): + class MyWidget(DashboardWidget): template = "myapp/widget.html" - def get_context(self): + def get_context(self, request): context = {"some_content": "foo"} return context @@ -728,7 +728,7 @@ class DashboardWidget(PolymorphicModel, PureDjangoModel): default=4, ) - def get_context(self): + def get_context(self, request): """Get the context dictionary to pass to the widget template.""" raise NotImplementedError("A widget subclass needs to implement the get_context method.") diff --git a/aleksis/core/templatetags/dashboard.py b/aleksis/core/templatetags/dashboard.py index b2c1541e8fedf08162d795f0224dce9bc7bfbbd6..4551cf5b065c49c0f26bc3520a8ad1d6a5626bd7 100644 --- a/aleksis/core/templatetags/dashboard.py +++ b/aleksis/core/templatetags/dashboard.py @@ -3,10 +3,11 @@ from django.template import Library, loader register = Library() -@register.simple_tag -def include_widget(widget) -> dict: +@register.simple_tag(takes_context=True) +def include_widget(context, widget) -> dict: """Render a template with context from a defined widget.""" template = loader.get_template(widget.get_template()) - context = widget.get_context() + request = context["request"] + context = widget.get_context(request) return template.render(context)