Coverage for /Users/davegaeddert/Development/dropseed/plain/plain-staff/plain/staff/jinja.py: 88%

17 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-10-16 22:04 -0500

1from plain.runtime import settings 

2from plain.templates.jinja.extensions import InclusionTagExtension 

3from plain.utils.module_loading import import_string 

4 

5from .views.registry import registry 

6 

7 

8class ToolbarExtension(InclusionTagExtension): 

9 tags = {"toolbar"} 

10 template_name = "toolbar/toolbar.html" 

11 

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

13 if isinstance(settings.TOOLBAR_CLASS, str): 

14 cls = import_string(settings.TOOLBAR_CLASS) 

15 else: 

16 cls = settings.TOOLBAR_CLASS 

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

18 return context 

19 

20 

21def get_admin_model_detail_url(obj): 

22 return registry.get_model_detail_url(obj) 

23 

24 

25filters = { 

26 "get_admin_model_detail_url": get_admin_model_detail_url, 

27} 

28 

29extensions = [ 

30 ToolbarExtension, 

31]