cluster_add_devices.html 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. {% extends 'base.html' %}
  2. {% load static %}
  3. {% load form_helpers %}
  4. {% block content %}
  5. <form action="." method="post" class="form form-horizontal">
  6. {% csrf_token %}
  7. {% for field in form.hidden_fields %}
  8. {{ field }}
  9. {% endfor %}
  10. <div class="row">
  11. <div class="col-md-6 col-md-offset-3">
  12. <h3>{% block title %}Add Devices to Cluster {{ cluster }}{% endblock %}</h3>
  13. {% if form.non_field_errors %}
  14. <div class="panel panel-danger">
  15. <div class="panel-heading"><strong>Errors</strong></div>
  16. <div class="panel-body">
  17. {{ form.non_field_errors }}
  18. </div>
  19. </div>
  20. {% endif %}
  21. <div class="panel panel-default">
  22. <div class="panel-heading"><strong>Device Selection</strong></div>
  23. <div class="panel-body">
  24. {% render_form form %}
  25. </div>
  26. </div>
  27. </div>
  28. </div>
  29. <div class="row">
  30. <div class="col-md-6 col-md-offset-3 text-right noprint">
  31. <button type="submit" name="_add" class="btn btn-primary">Add Devices</button>
  32. <a href="{{ return_url }}" class="btn btn-default">Cancel</a>
  33. </div>
  34. </div>
  35. </form>
  36. {% endblock %}
  37. {% block javascript %}
  38. <script type="text/javascript">
  39. $(document).ready(function() {
  40. var device_list = $('#id_devices');
  41. var disabled_indicator = device_list.attr('disabled-indicator');
  42. $('#id_search').autocomplete({
  43. source: function(request, response) {
  44. $.ajax({
  45. type: 'GET',
  46. url: netbox_api_path + 'dcim/devices/',
  47. data: 'q=' + request.term,
  48. beforeSend: function() {
  49. device_list.empty();
  50. },
  51. success: function(data) {
  52. response($.map(data.results, function(item) {
  53. var option = $("<option></option>").attr("value", item['id']).text(item['display_name']);
  54. if (disabled_indicator && item[disabled_indicator]) {
  55. option.attr("disabled", "disabled");
  56. }
  57. device_list.append(option);
  58. }));
  59. }
  60. });
  61. }
  62. });
  63. });
  64. </script>
  65. {% endblock %}