virtualchassis_edit.html 5.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. {% extends 'base.html' %}
  2. {% load helpers %}
  3. {% load form_helpers %}
  4. {% block content %}
  5. <form action="" method="post" enctype="multipart/form-data" class="form form-horizontal">
  6. {% csrf_token %}
  7. {{ pk_form.pk }}
  8. {{ formset.management_form }}
  9. <div class="row">
  10. <div class="col-md-8 col-md-offset-2">
  11. <h3>{% block title %}{% if vc_form.instance %}Editing {{ vc_form.instance }}{% else %}New Virtual Chassis{% endif %}{% endblock %}</h3>
  12. {% if vc_form.non_field_errors %}
  13. <div class="panel panel-danger">
  14. <div class="panel-heading"><strong>Errors</strong></div>
  15. <div class="panel-body">
  16. {{ vc_form.non_field_errors }}
  17. </div>
  18. </div>
  19. {% endif %}
  20. <div class="panel panel-default">
  21. <div class="panel-heading"><strong>Virtual Chassis</strong></div>
  22. <div class="table panel-body">
  23. {% render_form vc_form %}
  24. </div>
  25. </div>
  26. <div class="panel panel-default">
  27. <div class="panel-heading"><strong>Members</strong></div>
  28. <table class="table panel-body">
  29. <thead>
  30. <tr>
  31. <th>Device</th>
  32. <th>ID</th>
  33. <th>Rack/Unit</th>
  34. <th>Serial</th>
  35. <th>Position</th>
  36. <th>Priority</th>
  37. <th></th>
  38. </tr>
  39. </thead>
  40. <tbody>
  41. {% for form in formset %}
  42. {% for field in form.hidden_fields %}
  43. {{ field }}
  44. {% endfor %}
  45. {% with device=form.instance virtual_chassis=vc_form.instance %}
  46. <tr>
  47. <td>
  48. <a href="{{ device.get_absolute_url }}">{{ device }}</a>
  49. </td>
  50. <td>{{ device.pk }}</td>
  51. <td>
  52. {% if device.rack %}
  53. {{ device.rack }} / {{ device.position }}
  54. {% else %}
  55. <span class="text-muted">&mdash;</span>
  56. {% endif %}
  57. </td>
  58. <td>{{ device.serial|placeholder }}</td>
  59. <td>
  60. {{ form.vc_position }}
  61. {% if form.vc_position.errors %}
  62. <br /><small class="text-danger">{{ form.vc_position.errors.0 }}</small>
  63. {% endif %}
  64. </td>
  65. <td>
  66. {{ form.vc_priority }}
  67. {% if form.vc_priority.errors %}
  68. <br /><small class="text-danger">{{ form.vc_priority.errors.0 }}</small>
  69. {% endif %}
  70. </td>
  71. <td>
  72. {% if virtual_chassis.pk %}
  73. <a href="{% url 'dcim:virtualchassis_remove_member' pk=device.pk %}?return_url={% url 'dcim:virtualchassis_edit' pk=virtual_chassis.pk %}" class="btn btn-danger btn-xs{% if virtual_chassis.master == device %} disabled{% endif %}">
  74. <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
  75. </a>
  76. {% endif %}
  77. </td>
  78. </tr>
  79. {% endwith %}
  80. {% endfor %}
  81. </tbody>
  82. </table>
  83. </div>
  84. </div>
  85. </div>
  86. <div class="row">
  87. <div class="col-md-8 col-md-offset-2 text-right">
  88. {% if vc_form.instance.pk %}
  89. <button type="submit" name="_update" class="btn btn-primary">Update</button>
  90. {% else %}
  91. <button type="submit" name="_create" class="btn btn-primary">Create</button>
  92. {% endif %}
  93. <a href="{{ return_url }}" class="btn btn-default">Cancel</a>
  94. </div>
  95. </div>
  96. </form>
  97. {% endblock %}