1+ from functools import wraps
2+
13from django import template
24from django .conf import settings
35from django .urls import reverse
@@ -14,39 +16,46 @@ def home_url():
1416 return None
1517
1618
19+ def silence_without_namespace (f ):
20+ @wraps (f )
21+ def wrapped (label = None ):
22+ if not home_namespace :
23+ return ''
24+ if label :
25+ return f (label )
26+ else :
27+ return f ()
28+ return wrapped
29+
30+
1731@register .simple_tag
18- def project_home_url ():
32+ @silence_without_namespace
33+ def project_home_url (* args ):
1934 url = home_url ()
2035 if url :
2136 return url
22- else :
23- return ''
2437
2538
2639@register .simple_tag
40+ @silence_without_namespace
2741def project_home_breadcrumb_bs3 (label ):
28- if home_namespace :
29- url = home_url ()
30- if url :
31- return format_html (
32- '<li><a href="{}">{}</a></li>' , url , label )
33- else :
34- return format_html ('<li>{}</li>' , label )
42+ url = home_url ()
43+ if url :
44+ return format_html (
45+ '<li><a href="{}">{}</a></li>' , url , label )
3546 else :
36- return ''
47+ return format_html ( '<li>{}</li>' , label )
3748
3849
3950@register .simple_tag
51+ @silence_without_namespace
4052def project_home_breadcrumb_bs4 (label ):
41- if home_namespace :
42- url = home_url ()
43- if url :
44- return format_html (
45- '<li class="breadcrumb-item" aria-label="breadcrumb"><a href="{}">{}</a></li>' ,
46- url , label )
47- else :
48- return format_html (
49- '<li class="breadcrumb-item" aria-label="breadcrumb">{}</li>' ,
50- label )
53+ url = home_url ()
54+ if url :
55+ return format_html (
56+ '<li class="breadcrumb-item" aria-label="breadcrumb"><a href="{}">{}</a></li>' ,
57+ url , label )
5158 else :
52- return ''
59+ return format_html (
60+ '<li class="breadcrumb-item" aria-label="breadcrumb">{}</li>' ,
61+ label )
0 commit comments