{% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il
se veut agnostique au réseau considéré, de manière à être installable en
quelques clics.

Copyright © 2017  Gabriel Détraz
Copyright © 2017  Goulven Kermarec
Copyright © 2017  Augustin Lemesle

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
{% endcomment %}

{% load acl %}
{% load logs_extra %}

<div class="table-responsive">
    {% if machines_list.paginator %}
    {% include "pagination.html" with list=machines_list %}
    {% endif %}

    <table class="table" id="machines_table">
        <colgroup>
            <col>
            <col>
            <col>
            <col width="{% if ipv6_enabled %}300{% else %}150{% endif %}px">
            <col width="144px">
        </colgroup>
        <thead>
            <th>{% include "buttons/sort.html" with prefix='machine' col='name' text='Nom DNS' %}</th>
            <th>Type</th>
            <th>MAC</th>
            <th>IP</th>
            <th>Actions</th>
            <tbody>
                {% for machine in machines_list %}
                <tr class="info">
                    <td colspan="4">
                        <b>{{ machine.name|default:'<i>Pas de nom</i>' }}</b> <i class="fa-angle-right"></i>
                        <a href="{% url 'users:profil' userid=machine.user.id %}" title="Voir le profil">
                            <i class="fa fa-user"></i> {{ machine.user }}
                        </a>
                    </td>
                    <td class="text-right">
                        {% can_create Interface machine.id %}
                        {% include 'buttons/add.html' with href='machines:new-interface' id=machine.id desc='Ajouter une interface' %}
                        {% acl_end %}
                        {% history_button machine %}
                        {% can_delete machine %}
                        {% include 'buttons/suppr.html' with href='machines:del-machine' id=machine.id %}
                        {% acl_end %}
                    </td>
                </tr>
                {% for interface in machine.interface_set.all %}
                <tr>
                    <td>
                        {% if interface.domain.related_domain.all %}
                        {{ interface.domain }}
                        <button class="btn btn-default btn-xs" type="button" data-toggle="collapse" data-target="#collapseDomain_{{interface.id}}" aria-expanded="true" aria-controls="collapseDomain_{{interface.id}}">
                            Afficher les alias
                        </button>
                        {% else %}
                        {{ interface.domain }}
                        {% endif %}
                    </td>
                    <td>
                        {{ interface.type }}
                    </td>
                    <td>
                        {{ interface.mac_address }}
                    </td>
                    <td>
                        <b>IPv4</b> {{ interface.ipv4 }}
                        <br>
                        {% if ipv6_enabled and interface.ipv6 != 'None'%}
                        <b>IPv6</b>
                        <button class="btn btn-default btn-xs" type="button" data-toggle="collapse" data-target="#collapseIpv6_{{interface.id}}" aria-expanded="true" aria-controls="collapseIpv6_{{interface.id}}">
                            Afficher l'IPV6
                        </button>
                        {% endif %}
                    </td>
                    <td class="text-right">
                        <div style="width: 128px;">
                            <div class="btn-group" role="group">
                                <button class="btn btn-primary btn-sm dropdown-toggle" type="button" id="editioninterface" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                                    <i class="fa fa-edit"></i> <span class="caret"></span>
                                </button>
                                <ul class="dropdown-menu pull-right" aria-labelledby="editioninterface">
                                    {% can_edit interface %}
                                    <li>
                                        <a href="{% url 'machines:edit-interface' interface.id %}">
                                            <i class="fa fa-edit"></i> Editer
                                        </a>
                                    </li>
                                    {% acl_end %}
                                    {% can_create Domain interface.id %}
                                    <li>
                                        <a href="{% url 'machines:index-alias' interface.id %}">
                                            <i class="fa fa-edit"></i> Gerer les alias
                                        </a>
                                    </li>
                                    {% acl_end %}
                                    {% can_create Ipv6List interface.id %}
                                    <li>
                                        <a href="{% url 'machines:index-ipv6' interface.id %}">
                                            <i class="fa fa-edit"></i> Gerer les ipv6
                                        </a>
                                    </li>
                                    {% acl_end %}
                                    {% can_create SshFp interface.machine.id %}
                                    <li>
                                        <a href="{% url 'machines:index-sshfp' interface.machine.id %}">
                                            <i class="fa fa-edit"></i> Manage the SSH fingerprints
                                        </a>
                                    </li>
                                    {% acl_end %}
                                    {% can_create OuverturePortList %}
                                    <li>
                                        <a href="{% url 'machines:port-config' interface.id%}">
                                            <i class="fa fa-edit"></i> Gerer la configuration des ports
                                        </a>
                                    </li>
                                    {% acl_end %}
                                </ul>
                            </div>
                            {% history_button interface %}
                            {% can_delete interface %}
                            {% include 'buttons/suppr.html' with href='machines:del-interface' id=interface.id %}
                            {% acl_end %}
                        </div>
                    </td>
                </tr>

                {% if ipv6_enabled and interface.ipv6 != 'None'%}
                <tr>
                    <td colspan=5 style="border-top: none; padding: 1px;">
                        <div class="collapse in" id="collapseIpv6_{{interface.id}}">
                            <ul class="list-group" style="margin-bottom: 0px;">
                                {% for ipv6 in interface.ipv6.all %}
                                <li class="list-group-item col-xs-6 col-sm-6 col-md-6" style="border: none;">
                                    {{ipv6}}
                                </li>
                                {% endfor %}
                            </ul>
                        </div>
                    </td>
                    <tr>
                        {% endif %}


                        {% if interface.domain.related_domain.all %}
                        <tr>
                            <td colspan=5 style="border-top: none; padding: 1px;">
                                <div class="collapse in" id="collapseDomain_{{interface.id}}">
                                    <ul class="list-group" style="margin-bottom: 0px;">
                                        {% for al in interface.domain.related_domain.all %}
                                        <li class="list-group-item col-xs-6 col-sm-4 col-md-3" style="border: none;">
                                            <a href="http://{{ al }}">
                                                {{ al }}
                                                <i class="fa fa-share"></i>
                                            </a>
                                        </li>
                                        {% endfor %}
                                    </ul>
                                </div>
                            </td>
                            <tr>
                                {% endif %}
                                {% endfor %}
                                <tr>
                                    <td colspan="8"></td>
                                </tr>
                                {% endfor %}
            </tbody>
    </table>



    <script>
$("#machines_table").ready( function() {
    var alias_div = [{% for machine in machines_list %}{% for interface in machine.interface_set.all %}{% if interface.domain.related_domain.all %}$("#collapseDomain_{{interface.id}}"), {% endif %}{% endfor %}{% endfor %}];
    for (var i=0 ; i<alias_div.length ; i++) {
        alias_div[i].collapse('hide');
    }
} );
$("#machines_table").ready( function() {
    var ipv6_div = [{% for machine in machines_list %}{% for interface in machine.interface_set.all %}{% if interface.ipv6.all %}$("#collapseIpv6_{{interface.id}}"), {% endif %}{% endfor %}{% endfor %}];
    for (var i=0 ; i<ipv6_div.length ; i++) {
        ipv6_div[i].collapse('hide');
    }
} );
    </script>

    {% if machines_list.paginator %}
    {% include "pagination.html" with list=machines_list %}
    {% endif %}
</div>
