2020-04-10 10:21:02 -04:00
|
|
|
{% extends 'base.html' %}
|
2018-11-02 14:42:15 -04:00
|
|
|
{% load static %}
|
2017-08-21 16:53:36 -04:00
|
|
|
{% load form_helpers %}
|
|
|
|
|
|
|
|
{% block content %}
|
|
|
|
<form action="." method="post" class="form form-horizontal">
|
|
|
|
{% csrf_token %}
|
|
|
|
{% for field in form.hidden_fields %}
|
|
|
|
{{ field }}
|
|
|
|
{% endfor %}
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-6 col-md-offset-3">
|
|
|
|
<h3>{% block title %}Add Devices to Cluster {{ cluster }}{% endblock %}</h3>
|
|
|
|
{% if form.non_field_errors %}
|
|
|
|
<div class="panel panel-danger">
|
|
|
|
<div class="panel-heading"><strong>Errors</strong></div>
|
|
|
|
<div class="panel-body">
|
|
|
|
{{ form.non_field_errors }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endif %}
|
|
|
|
<div class="panel panel-default">
|
2017-10-11 10:14:09 -04:00
|
|
|
<div class="panel-heading"><strong>Device Selection</strong></div>
|
2017-08-21 16:53:36 -04:00
|
|
|
<div class="panel-body">
|
2020-04-29 15:50:16 -04:00
|
|
|
{% render_form form %}
|
2017-08-21 16:53:36 -04:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="row">
|
2019-03-05 15:42:47 -06:00
|
|
|
<div class="col-md-6 col-md-offset-3 text-right noprint">
|
2017-08-21 16:53:36 -04:00
|
|
|
<button type="submit" name="_add" class="btn btn-primary">Add Devices</button>
|
|
|
|
<a href="{{ return_url }}" class="btn btn-default">Cancel</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block javascript %}
|
2017-10-11 10:14:09 -04:00
|
|
|
<script type="text/javascript">
|
|
|
|
$(document).ready(function() {
|
|
|
|
var device_list = $('#id_devices');
|
2017-10-17 09:59:35 -04:00
|
|
|
var disabled_indicator = device_list.attr('disabled-indicator');
|
2017-10-11 10:14:09 -04:00
|
|
|
$('#id_search').autocomplete({
|
|
|
|
source: function(request, response) {
|
|
|
|
$.ajax({
|
|
|
|
type: 'GET',
|
|
|
|
url: netbox_api_path + 'dcim/devices/',
|
|
|
|
data: 'q=' + request.term,
|
|
|
|
beforeSend: function() {
|
|
|
|
device_list.empty();
|
|
|
|
},
|
|
|
|
success: function(data) {
|
|
|
|
response($.map(data.results, function(item) {
|
2017-10-17 09:59:35 -04:00
|
|
|
var option = $("<option></option>").attr("value", item['id']).text(item['display_name']);
|
|
|
|
if (disabled_indicator && item[disabled_indicator]) {
|
|
|
|
option.attr("disabled", "disabled");
|
|
|
|
}
|
|
|
|
device_list.append(option);
|
2017-10-11 10:14:09 -04:00
|
|
|
}));
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|
2017-08-21 16:53:36 -04:00
|
|
|
{% endblock %}
|