virtualmachine_list.html 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. {% extends '_base.html' %}
  2. {% load buttons %}
  3. {% block content %}
  4. <div class="pull-right">
  5. {% if perms.virtualization.add_virtualmachine %}
  6. {% add_button 'virtualization:virtualmachine_add' %}
  7. {% import_button 'virtualization:virtualmachine_import' %}
  8. {% endif %}
  9. {% export_button content_type %}
  10. </div>
  11. <h1>{% block title %}Virtual Machines{% endblock %}</h1>
  12. <div class="row">
  13. <div class="col-md-9">
  14. {% include 'virtualization/inc/virtualmachine_table.html' with bulk_edit_url='virtualization:virtualmachine_bulk_edit' bulk_delete_url='virtualization:virtualmachine_bulk_delete' %}
  15. </div>
  16. <div class="col-md-3">
  17. {% include 'inc/search_panel.html' %}
  18. {% include 'inc/tags_panel.html' %}
  19. </div>
  20. </div>
  21. {% endblock %}
  22. {% block javascript %}
  23. <script type="text/javascript">
  24. $(document).ready(function() {
  25. var cluster_group_list = $('#id_cluster_group');
  26. var cluster_list = $('#id_cluster_id');
  27. // Update cluster options based on selected group
  28. cluster_group_list.change(function() {
  29. var selected_groups = $(this).val();
  30. if (selected_groups) {
  31. cluster_list.empty();
  32. $.ajax({
  33. url: netbox_api_path + 'virtualization/clusters/?limit=500&group=' + selected_groups.join('&group='),
  34. dataType: 'json',
  35. success: function (response, status) {
  36. $.each(response["results"], function (index, cluster) {
  37. var option = $("<option></option>").attr("value", cluster.id).text(cluster.name);
  38. cluster_list.append(option);
  39. });
  40. }
  41. });
  42. }
  43. });
  44. });
  45. </script>
  46. {% endblock %}