services.html 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <div class="card">
  2. <h5 class="card-header">Services</h5>
  3. <div class="card-body">
  4. {% if services %}
  5. <table class="table table-hover">
  6. {% for service in services %}
  7. <tr>
  8. <td>{{ service|linkify:"name" }}</td>
  9. <td>{{ service.get_protocol_display }}</td>
  10. <td>{{ service.port_list }}</td>
  11. <td>
  12. {% for ip in service.ipaddresses.all %}
  13. <a href="{{ ip.get_absolute_url }}">{{ ip.address.ip }}</a><br />
  14. {% empty %}
  15. <span class="text-muted">All IPs</span>
  16. {% endfor %}
  17. </td>
  18. <td>{{ service.description }}</td>
  19. <td class="text-end noprint">
  20. <a href="{% url 'ipam:service_changelog' pk=service.pk %}" class="btn btn-sm btn-outline-secondary" title="Change Log">
  21. <i class="mdi mdi-history"></i>
  22. </a>
  23. {% if perms.ipam.change_service %}
  24. <a href="{% url 'ipam:service_edit' pk=service.pk %}?return_url={{ service.parent.get_absolute_url }}" class="btn btn-warning btn-sm" title="Edit Service">
  25. <i class="mdi mdi-pencil"></i>
  26. </a>
  27. {% endif %}
  28. {% if perms.ipam.delete_service %}
  29. <a href="{% url 'ipam:service_delete' pk=service.pk %}?return_url={{ service.parent.get_absolute_url }}" class="btn btn-danger btn-sm">
  30. <i class="mdi mdi-trash-can-outline" title="Delete Service"></i>
  31. </a>
  32. {% endif %}
  33. </td>
  34. </tr>
  35. {% endfor %}
  36. </table>
  37. {% else %}
  38. <div class="text-muted">None</div>
  39. {% endif %}
  40. </div>
  41. {% if perms.ipam.add_service %}
  42. {% with object|meta:"model_name" as object_type %}
  43. <div class="card-footer text-end noprint">
  44. <a href="{% url 'ipam:service_add' %}{% if object_type == "device" %}?device={{ object.pk }}{% elif object_type == "virtualmachine" %}?virtual_machine={{ object.pk }}{% endif %}" class="btn btn-sm btn-primary">
  45. <span class="mdi mdi-plus-thick" aria-hidden="true"></span> Add Service
  46. </a>
  47. </div>
  48. {% endwith %}
  49. {% endif %}
  50. </div>