Coverage for /Users/davegaeddert/Developer/dropseed/plain/plain-staff/plain/staff/templates.py: 89%

18 statements  

« prev     ^ index     » next       coverage.py v7.6.9, created at 2024-12-23 11:16 -0600

1from plain.runtime import settings 

2from plain.templates import register_template_extension, register_template_filter 

3from plain.templates.jinja.extensions import InclusionTagExtension 

4from plain.utils.module_loading import import_string 

5 

6from .views.registry import registry 

7 

8 

9@register_template_extension 

10class ToolbarExtension(InclusionTagExtension): 

11 tags = {"toolbar"} 

12 template_name = "toolbar/toolbar.html" 

13 

14 def get_context(self, context, *args, **kwargs): 

15 if isinstance(settings.TOOLBAR_CLASS, str): 

16 cls = import_string(settings.TOOLBAR_CLASS) 

17 else: 

18 cls = settings.TOOLBAR_CLASS 

19 context.vars["toolbar"] = cls(request=context.get("request")) 

20 return context 

21 

22 

23@register_template_filter 

24def get_admin_model_detail_url(obj): 

25 return registry.get_model_detail_url(obj)