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:
Jeremy Stretch 2020-03-09 10:56:41 -04:00 committed by GitHub
commit cdcbf20d6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 25 additions and 66 deletions

View File

@ -119,7 +119,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if circuit.comments %}
{{ circuit.comments|gfm }}
{{ circuit.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -88,11 +88,11 @@
</tr>
<tr>
<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>
<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>
<td>Circuits</td>
@ -110,7 +110,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if provider.comments %}
{{ provider.comments|gfm }}
{{ provider.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -53,7 +53,7 @@
<div class="form-group">
<label class="col-md-3 control-label required">Type</label>
<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 class="form-group">

View File

@ -325,7 +325,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if device.comments %}
{{ device.comments|gfm }}
{{ device.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -149,7 +149,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if devicetype.comments %}
{{ devicetype.comments|gfm }}
{{ devicetype.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -11,7 +11,7 @@
<tr>
<td>Type</td>
<td>
{{ termination|model_name|capfirst }}
{{ termination|meta:"verbose_name"|capfirst }}
</td>
</tr>
<tr>

View File

@ -17,7 +17,7 @@
<div class="panel-body text-center">
{% if end.device %}
{# Device component #}
{% with model=end|model_name %}
{% with model=end|meta:"verbose_name" %}
<strong>{{ model|bettertitle }} {{ end }}</strong><br />
{% if model == 'interface' %}
{{ end.get_type_display }}

View File

@ -158,7 +158,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if powerfeed.comments %}
{{ powerfeed.comments|gfm }}
{{ powerfeed.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -198,7 +198,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if rack.comments %}
{{ rack.comments|gfm }}
{{ rack.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -143,7 +143,7 @@
<td>
{% if site.physical_address %}
<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
</a>
</div>
@ -206,7 +206,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if site.comments %}
{{ site.comments|gfm }}
{{ site.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -47,7 +47,7 @@
<tr>
<td>{{ forloop.counter }}</td>
<td>{% log_level level %}</td>
<td class="rendered-markdown">{{ message|gfm }}</td>
<td class="rendered-markdown">{{ message|render_markdown }}</td>
</tr>
{% empty %}
<tr>

View File

@ -90,7 +90,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if tag.comments %}
{{ tag.comments|gfm }}
{{ tag.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -35,7 +35,7 @@
</div>
<div class="panel-body">
<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">
<p class="form-control-static">
<a href="{{ obj.interface.parent.get_absolute_url }}">{{ obj.interface.parent }}</a>

View File

@ -87,7 +87,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if tenant.comments %}
{{ tenant.comments|gfm }}
{{ tenant.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -15,7 +15,7 @@
{% export_button content_type %}
{% endif %}
</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="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" %}

View File

@ -115,7 +115,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if cluster.comments %}
{{ cluster.comments|gfm }}
{{ cluster.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -152,7 +152,7 @@
</div>
<div class="panel-body rendered-markdown">
{% if virtualmachine.comments %}
{{ virtualmachine.comments|gfm }}
{{ virtualmachine.comments|render_markdown }}
{% else %}
<span class="text-muted">None</span>
{% endif %}

View File

@ -20,15 +20,6 @@ register = template.Library()
# Filters
#
@register.filter()
def oneline(value):
"""
Replace each line break with a single space
"""
value = value.replace('\r', '')
return value.replace('\n', ' ')
@register.filter()
def placeholder(value):
"""
@ -40,25 +31,8 @@ def placeholder(value):
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)
def gfm(value):
def render_markdown(value):
"""
Render text as Markdown
"""
@ -88,19 +62,12 @@ def render_yaml(value):
@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
@register.filter()
def model_name_plural(obj):
"""
Return the plural name of the model of the given object
"""
return obj._meta.verbose_name_plural
return getattr(obj._meta, attr, '')
@register.filter()
@ -118,14 +85,6 @@ def url_name(model, action):
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()
def bettertitle(value):
"""