cable_trace.html 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. {% extends 'base.html' %}
  2. {% load helpers %}
  3. {% block header %}
  4. <h1>{% block title %}Cable Trace for {{ obj }}{% endblock %}</h1>
  5. {% endblock %}
  6. {% block content %}
  7. <div class="row">
  8. <div class="col-md-5 col-sm-12 text-center">
  9. {% for near_end, cable, far_end in path.origin.trace %}
  10. {# Near end #}
  11. {% if near_end.device %}
  12. {% include 'dcim/trace/device.html' with device=near_end.device %}
  13. {% include 'dcim/trace/termination.html' with termination=near_end %}
  14. {% elif near_end.power_panel %}
  15. {% include 'dcim/trace/powerfeed.html' with powerfeed=near_end %}
  16. {% elif near_end.circuit %}
  17. {% include 'dcim/trace/circuit.html' with circuit=near_end.circuit %}
  18. {% include 'dcim/trace/termination.html' with termination=near_end %}
  19. {% else %}
  20. <h3 class="text-danger text-center">Split Paths!</h3>
  21. {# TODO: Present the user with successive paths to choose from #}
  22. {% endif %}
  23. {# Cable #}
  24. {% if cable %}
  25. <div class="row">
  26. {% include 'dcim/trace/cable.html' %}
  27. </div>
  28. {% endif %}
  29. {# Far end #}
  30. {% if far_end.device %}
  31. {% include 'dcim/trace/termination.html' with termination=far_end %}
  32. {% if forloop.last %}
  33. {% include 'dcim/trace/device.html' with device=far_end.device %}
  34. {% endif %}
  35. {% elif far_end.power_panel %}
  36. {% include 'dcim/trace/powerfeed.html' with powerfeed=far_end %}
  37. {% elif far_end.circuit %}
  38. {% include 'dcim/trace/termination.html' with termination=far_end %}
  39. {% if forloop.last %}
  40. {% include 'dcim/trace/circuit.html' with circuit=far_end.circuit %}
  41. {% endif %}
  42. {% endif %}
  43. {% if forloop.last and far_end %}
  44. <div class="row">
  45. <div class="text-center">
  46. <h3 class="text-success text-center">Trace completed!</h3>
  47. {% if total_length %}
  48. <h5>Total length: {{ total_length|floatformat:"-2" }} Meters<h5>
  49. {% endif %}
  50. </div>
  51. </div>
  52. {% endif %}
  53. {% endfor %}
  54. </div>
  55. <div class="col-md-7 col-sm-12">
  56. <h4 class="text-center">Related Paths</h4>
  57. <ul class="nav nav-pills nav-stacked">
  58. {% for cablepath in related_paths %}
  59. <li role="presentation"{% if cablepath.pk == path.pk %} class="active"{% endif %}>
  60. <a href="?cablepath_id={{ cablepath.pk }}">
  61. From {{ cablepath.origin }} ({{ cablepath.origin.parent }})
  62. to {{ cablepath.destination }} ({{ cablepath.destination.parent }})
  63. </a>
  64. </li>
  65. {% endfor %}
  66. </ul>
  67. </div>
  68. </div>
  69. {% endblock %}