service.html 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. {% extends 'base.html' %}
  2. {% load buttons %}
  3. {% load custom_links %}
  4. {% load helpers %}
  5. {% load plugins %}
  6. {% block content %}
  7. <div class="row noprint">
  8. <div class="col-sm-8 col-md-9">
  9. <ol class="breadcrumb">
  10. <li><a href="{% url 'ipam:service_list' %}">Services</a></li>
  11. <li><a href="{{ service.parent.get_absolute_url }}">{{ service.parent }}</a></li>
  12. <li>{{ service }}</li>
  13. </ol>
  14. </div>
  15. <div class="col-sm-4 col-md-3">
  16. <form action="{% url 'ipam:service_list' %}" method="get">
  17. <div class="input-group">
  18. <input type="text" name="q" class="form-control" placeholder="Search Services" />
  19. <span class="input-group-btn">
  20. <button type="submit" class="btn btn-primary">
  21. <span class="fa fa-search" aria-hidden="true"></span>
  22. </button>
  23. </span>
  24. </div>
  25. </form>
  26. </div>
  27. </div>
  28. <div class="pull-right">
  29. {% plugin_buttons service %}
  30. {% if perms.dcim.change_service %}
  31. {% edit_button service %}
  32. {% endif %}
  33. {% if perms.dcim.delete_service %}
  34. {% delete_button service %}
  35. {% endif %}
  36. </div>
  37. <h1>{% block title %}{{ service }}{% endblock %}</h1>
  38. {% include 'inc/created_updated.html' with obj=service %}
  39. <div class="pull-right noprint">
  40. {% custom_links service %}
  41. </div>
  42. <div class="row">
  43. <div class="col-md-6">
  44. <div class="panel panel-default">
  45. <div class="panel-heading">
  46. <strong>Service</strong>
  47. </div>
  48. <table class="table table-hover panel-body attr-table">
  49. <tr>
  50. <td>Name</td>
  51. <td>{{ service.name }}</td>
  52. </tr>
  53. <tr>
  54. <td>Parent</td>
  55. <td>
  56. <a href="{{ service.parent.get_absolute_url }}">{{ service.parent }}</a>
  57. </td>
  58. </tr>
  59. <tr>
  60. <td>Protocol</td>
  61. <td>{{ service.get_protocol_display }}</td>
  62. </tr>
  63. <tr>
  64. <td>Port</td>
  65. <td>{{ service.port }}</td>
  66. </tr>
  67. <tr>
  68. <td>IP Addresses</td>
  69. <td>
  70. {% for ipaddress in service.ipaddresses.all %}
  71. <a href="{{ ipaddress.get_absolute_url }}">{{ ipaddress }}</a><br />
  72. {% empty %}
  73. <span class="text-muted">None</span>
  74. {% endfor %}
  75. </td>
  76. </tr>
  77. <tr>
  78. <td>Description</td>
  79. <td>{{ service.description|placeholder }}</td>
  80. </tr>
  81. </table>
  82. </div>
  83. {% include 'inc/custom_fields_panel.html' with obj=service %}
  84. {% include 'extras/inc/tags_panel.html' with tags=service.tags.all url='ipam:service_list' %}
  85. {% plugin_left_page service %}
  86. </div>
  87. <div class="col-md-6">
  88. {% plugin_right_page service %}
  89. </div>
  90. </div>
  91. <div class="row">
  92. <div class="col-md-12">
  93. {% plugin_full_width_page service %}
  94. </div>
  95. </div>
  96. {% endblock %}