Skip to content
Snippets Groups Projects
Commit b528d806 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch '352-provide-request-in-dashboardwidget-get_context' into 'master'

Resolve "Provide request in DashboardWidget.get_context"

Closes #352

See merge request !452
parents 7a12491d 5fdf2b5a
No related branches found
No related tags found
1 merge request!452Resolve "Provide request in DashboardWidget.get_context"
Pipeline #5790 passed
......@@ -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.")
......
......@@ -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)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment