{% extends 'base.html' %}
{% load static %}
{% 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">
                    <div class="panel-heading"><strong>Device Selection</strong></div>
                    <div class="panel-body">
                        {% render_form form %}
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-6 col-md-offset-3 text-right noprint">
                <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 %}
<script type="text/javascript">
    $(document).ready(function() {
        var device_list = $('#id_devices');
        var disabled_indicator = device_list.attr('disabled-indicator');
        $('#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) {
                            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);
                        }));
                    }
                });
            }
        });
    });
</script>
{% endblock %}
