| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- {% extends 'base/layout.html' %}
- {% load helpers %}
- {% load i18n %}
- {% block title %}{% blocktrans %}Cable Trace for {{ object|meta:"verbose_name"|bettertitle }} {{ object }}{% endblocktrans %}{% endblock %}
- {% block content %}
- <div class="row">
- {# Cable trace SVG & options #}
- <div class="col col-md-5">
- {% if path %}
- <div class="text-center my-3">
- <object data="{{ svg_url }}" class="rack_elevation"></object>
- <div>
- <a class="btn btn-outline-primary btn-sm my-3" href="{{ svg_url }}">
- <i class="mdi mdi-file-download"></i> {% trans "Download SVG" %}
- </a>
- </div>
- </div>
- <div class="trace-end">
- {% if path.is_split %}
- <h3 class="text-danger">{% trans "Path split" %}!</h3>
- <p>{% trans "Select a node below to continue" %}:</p>
- <ul class="text-start">
- {% for next_node in path.get_split_nodes %}
- {% if next_node.cable %}
- {% with viewname=next_node|viewname:"trace" %}
- <li>
- <a href="{% url viewname pk=next_node.pk %}">{{ next_node|meta:"verbose_name"|bettertitle }} {{ next_node }}</a>
- ({% trans "Cable" %} {{ next_node.cable|linkify }})
- </li>
- {% endwith %}
- {% else %}
- <li class="text-muted">{{ next_node }}</li>
- {% endif %}
- {% endfor %}
- </ul>
- {% else %}
- <h3 class="text-center text-success">{% trans "Trace Completed" %}</h3>
- <table class="table">
- <tr>
- <th scope="row">{% trans "Total segments" %}</th>
- <td>{{ path.segment_count }}</td>
- </tr>
- <tr>
- <th scope="row">{% trans "Total length" %}</th>
- <td>
- {% if total_length %}
- {{ total_length|floatformat:"-2" }}{% if not is_definitive %}+{% endif %} {% trans "Meters" %} /
- {{ total_length|meters_to_feet|floatformat:"-2" }} {% trans "Feet" %}
- {% else %}
- <span class="text-muted">{% trans "N/A" %}</span>
- {% endif %}
- </td>
- </tr>
- </table>
- {% endif %}
- </div>
- {% else %}
- <h3 class="text-center text-muted my-3">
- {% trans "No paths found" %}
- </h3>
- {% endif %}
- </div>
- {# Related paths #}
- <div class="col col-md-7">
- <div class="card">
- <h5 class="card-header">
- {% trans "Related Paths" %}
- </h5>
- <div class="card-body">
- <table class="table table-hover">
- <thead>
- <tr>
- <th>{% trans "Origin" %}</th>
- <th>{% trans "Destination" %}</th>
- <th>{% trans "Segments" %}</th>
- </tr>
- </thead>
- <tbody>
- {% for cablepath in related_paths %}
- <tr{% if cablepath.pk == path.pk %} class="info"{% endif %}>
- <td>
- <a href="?cablepath_id={{ cablepath.pk }}">{{ cablepath.origins|join:", " }}</a>
- </td>
- <td>
- {% if cablepath.destinations %}
- {{ cablepath.destinations|join:", " }}
- {% else %}
- <span class="text-muted">{% trans "Incomplete" %}</span>
- {% endif %}
- </td>
- <td>
- {{ cablepath.segment_count }}
- </td>
- </tr>
- {% empty %}
- <td colspan="3" class="text-muted">
- {% trans "None found" %}
- </td>
- {% endfor %}
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- {% endblock %}
|