mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 17:38:37 -06:00
Merge pull request #4334 from netbox-community/4320-clean-up-template-tags-filters
Closes #4320: Clean up template tags filters
This commit is contained in:
commit
cdcbf20d6a
@ -119,7 +119,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if circuit.comments %}
|
{% if circuit.comments %}
|
||||||
{{ circuit.comments|gfm }}
|
{{ circuit.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -88,11 +88,11 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>NOC Contact</td>
|
<td>NOC Contact</td>
|
||||||
<td class="rendered-markdown">{{ provider.noc_contact|gfm|placeholder }}</td>
|
<td class="rendered-markdown">{{ provider.noc_contact|render_markdown|placeholder }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Admin Contact</td>
|
<td>Admin Contact</td>
|
||||||
<td class="rendered-markdown">{{ provider.admin_contact|gfm|placeholder }}</td>
|
<td class="rendered-markdown">{{ provider.admin_contact|render_markdown|placeholder }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Circuits</td>
|
<td>Circuits</td>
|
||||||
@ -110,7 +110,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if provider.comments %}
|
{% if provider.comments %}
|
||||||
{{ provider.comments|gfm }}
|
{{ provider.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label required">Type</label>
|
<label class="col-md-3 control-label required">Type</label>
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<p class="form-control-static">{{ termination_a|model_name|capfirst }}</p>
|
<p class="form-control-static">{{ termination_a|meta:"verbose_name"|capfirst }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
@ -325,7 +325,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if device.comments %}
|
{% if device.comments %}
|
||||||
{{ device.comments|gfm }}
|
{{ device.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -149,7 +149,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if devicetype.comments %}
|
{% if devicetype.comments %}
|
||||||
{{ devicetype.comments|gfm }}
|
{{ devicetype.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>Type</td>
|
<td>Type</td>
|
||||||
<td>
|
<td>
|
||||||
{{ termination|model_name|capfirst }}
|
{{ termination|meta:"verbose_name"|capfirst }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
<div class="panel-body text-center">
|
<div class="panel-body text-center">
|
||||||
{% if end.device %}
|
{% if end.device %}
|
||||||
{# Device component #}
|
{# Device component #}
|
||||||
{% with model=end|model_name %}
|
{% with model=end|meta:"verbose_name" %}
|
||||||
<strong>{{ model|bettertitle }} {{ end }}</strong><br />
|
<strong>{{ model|bettertitle }} {{ end }}</strong><br />
|
||||||
{% if model == 'interface' %}
|
{% if model == 'interface' %}
|
||||||
{{ end.get_type_display }}
|
{{ end.get_type_display }}
|
||||||
|
@ -158,7 +158,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if powerfeed.comments %}
|
{% if powerfeed.comments %}
|
||||||
{{ powerfeed.comments|gfm }}
|
{{ powerfeed.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -198,7 +198,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if rack.comments %}
|
{% if rack.comments %}
|
||||||
{{ rack.comments|gfm }}
|
{{ rack.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -143,7 +143,7 @@
|
|||||||
<td>
|
<td>
|
||||||
{% if site.physical_address %}
|
{% if site.physical_address %}
|
||||||
<div class="pull-right noprint">
|
<div class="pull-right noprint">
|
||||||
<a href="http://maps.google.com/?q={{ site.physical_address|oneline|urlencode }}" target="_blank" class="btn btn-primary btn-xs">
|
<a href="http://maps.google.com/?q={{ site.physical_address|urlencode }}" target="_blank" class="btn btn-primary btn-xs">
|
||||||
<i class="glyphicon glyphicon-map-marker"></i> Map it
|
<i class="glyphicon glyphicon-map-marker"></i> Map it
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@ -206,7 +206,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if site.comments %}
|
{% if site.comments %}
|
||||||
{{ site.comments|gfm }}
|
{{ site.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -47,7 +47,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>{{ forloop.counter }}</td>
|
<td>{{ forloop.counter }}</td>
|
||||||
<td>{% log_level level %}</td>
|
<td>{% log_level level %}</td>
|
||||||
<td class="rendered-markdown">{{ message|gfm }}</td>
|
<td class="rendered-markdown">{{ message|render_markdown }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% empty %}
|
{% empty %}
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if tag.comments %}
|
{% if tag.comments %}
|
||||||
{{ tag.comments|gfm }}
|
{{ tag.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-3 control-label">{{ obj.interface.parent|model_name|bettertitle }}</label>
|
<label class="col-md-3 control-label">{{ obj.interface.parent|meta:"verbose_name"|bettertitle }}</label>
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<p class="form-control-static">
|
<p class="form-control-static">
|
||||||
<a href="{{ obj.interface.parent.get_absolute_url }}">{{ obj.interface.parent }}</a>
|
<a href="{{ obj.interface.parent.get_absolute_url }}">{{ obj.interface.parent }}</a>
|
||||||
|
@ -87,7 +87,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if tenant.comments %}
|
{% if tenant.comments %}
|
||||||
{{ tenant.comments|gfm }}
|
{{ tenant.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
{% export_button content_type %}
|
{% export_button content_type %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<h1>{% block title %}{{ content_type.model_class|model_name_plural|bettertitle }}{% endblock %}</h1>
|
<h1>{% block title %}{{ content_type.model_class|meta:"verbose_name_plural"|bettertitle }}{% endblock %}</h1>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-{% if filter_form %}9{% else %}12{% endif %}">
|
<div class="col-md-{% if filter_form %}9{% else %}12{% endif %}">
|
||||||
{% with bulk_edit_url=content_type.model_class|url_name:"bulk_edit" bulk_delete_url=content_type.model_class|url_name:"bulk_delete" %}
|
{% with bulk_edit_url=content_type.model_class|url_name:"bulk_edit" bulk_delete_url=content_type.model_class|url_name:"bulk_delete" %}
|
||||||
|
@ -115,7 +115,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if cluster.comments %}
|
{% if cluster.comments %}
|
||||||
{{ cluster.comments|gfm }}
|
{{ cluster.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -152,7 +152,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel-body rendered-markdown">
|
<div class="panel-body rendered-markdown">
|
||||||
{% if virtualmachine.comments %}
|
{% if virtualmachine.comments %}
|
||||||
{{ virtualmachine.comments|gfm }}
|
{{ virtualmachine.comments|render_markdown }}
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-muted">None</span>
|
<span class="text-muted">None</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -20,15 +20,6 @@ register = template.Library()
|
|||||||
# Filters
|
# Filters
|
||||||
#
|
#
|
||||||
|
|
||||||
@register.filter()
|
|
||||||
def oneline(value):
|
|
||||||
"""
|
|
||||||
Replace each line break with a single space
|
|
||||||
"""
|
|
||||||
value = value.replace('\r', '')
|
|
||||||
return value.replace('\n', ' ')
|
|
||||||
|
|
||||||
|
|
||||||
@register.filter()
|
@register.filter()
|
||||||
def placeholder(value):
|
def placeholder(value):
|
||||||
"""
|
"""
|
||||||
@ -40,25 +31,8 @@ def placeholder(value):
|
|||||||
return mark_safe(placeholder)
|
return mark_safe(placeholder)
|
||||||
|
|
||||||
|
|
||||||
@register.filter()
|
|
||||||
def getlist(value, arg):
|
|
||||||
"""
|
|
||||||
Return all values of a QueryDict key
|
|
||||||
"""
|
|
||||||
return value.getlist(arg)
|
|
||||||
|
|
||||||
|
|
||||||
@register.filter
|
|
||||||
def getkey(value, key):
|
|
||||||
"""
|
|
||||||
Return a dictionary item specified by key
|
|
||||||
"""
|
|
||||||
return value[key]
|
|
||||||
|
|
||||||
|
|
||||||
# TODO: Rename this filter as py-gfm is no longer in use
|
|
||||||
@register.filter(is_safe=True)
|
@register.filter(is_safe=True)
|
||||||
def gfm(value):
|
def render_markdown(value):
|
||||||
"""
|
"""
|
||||||
Render text as Markdown
|
Render text as Markdown
|
||||||
"""
|
"""
|
||||||
@ -88,19 +62,12 @@ def render_yaml(value):
|
|||||||
|
|
||||||
|
|
||||||
@register.filter()
|
@register.filter()
|
||||||
def model_name(obj):
|
def meta(obj, attr):
|
||||||
"""
|
"""
|
||||||
Return the name of the model of the given object
|
Return the specified Meta attribute of a model. This is needed because Django does not permit templates
|
||||||
|
to access attributes which begin with an underscore (e.g. _meta).
|
||||||
"""
|
"""
|
||||||
return obj._meta.verbose_name
|
return getattr(obj._meta, attr, '')
|
||||||
|
|
||||||
|
|
||||||
@register.filter()
|
|
||||||
def model_name_plural(obj):
|
|
||||||
"""
|
|
||||||
Return the plural name of the model of the given object
|
|
||||||
"""
|
|
||||||
return obj._meta.verbose_name_plural
|
|
||||||
|
|
||||||
|
|
||||||
@register.filter()
|
@register.filter()
|
||||||
@ -118,14 +85,6 @@ def url_name(model, action):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
@register.filter()
|
|
||||||
def contains(value, arg):
|
|
||||||
"""
|
|
||||||
Test whether a value contains any of a given set of strings. `arg` should be a comma-separated list of strings.
|
|
||||||
"""
|
|
||||||
return any(s in value for s in arg.split(','))
|
|
||||||
|
|
||||||
|
|
||||||
@register.filter()
|
@register.filter()
|
||||||
def bettertitle(value):
|
def bettertitle(value):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user