{% extends 'base.html' %}
{% load helpers %}

{% block header %}
    {{ block.super }}
    {% if new_release %}
        {# new_release is set only if the current user is a superuser or staff member #}
        <div class="alert alert-info text-center" role="alert">
            <i class="fa fa-info-circle"></i>
            A new release is available: <a href="{{ new_release.url }}">NetBox v{{ new_release.version }}</a> |
            <a href="https://netbox.readthedocs.io/en/stable/installation/upgrading/">Upgrade instructions</a>
        </div>
    {% endif %}
{% endblock %}


{% block content %}
{% include 'search_form.html' %}
<div class="row">
    <div class="col-sm-6 col-md-4">
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>Organization</strong>
            </div>
            <div class="list-group">
                <div class="list-group-item">
                    {% if perms.dcim.view_site %}
                        <span class="badge pull-right">{{ stats.site_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'dcim:site_list' %}">Sites</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Sites</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Geographic locations</p>
                </div>
                <div class="list-group-item">
                    {% if perms.tenancy.view_tenant %}
                        <span class="badge pull-right">{{ stats.tenant_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'tenancy:tenant_list' %}">Tenants</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Tenants</h4>
                    {% endif %}
                        <p class="list-group-item-text text-muted">Customers or departments</p>
                    </div>
            </div>
        </div>
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>DCIM</strong>
            </div>
            <div class="list-group">
                <div class="list-group-item">
                    {% if perms.dcim.view_rack %}
                        <span class="badge pull-right">{{ stats.rack_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'dcim:rack_list' %}">Racks</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Racks</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Equipment racks, optionally organized by group</p>
                </div>
                <div class="list-group-item">
                    {% if perms.dcim.view_devicetype %}
                        <span class="badge pull-right">{{ stats.devicetype_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'dcim:devicetype_list' %}">Device Types</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Device Types</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Physical hardware models by manufacturer</p>
                </div>
                <div class="list-group-item">
                    {% if perms.dcim.view_device %}
                        <span class="badge pull-right">{{ stats.device_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'dcim:device_list' %}">Devices</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Devices</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Rack-mounted network equipment, servers, and other devices</p>
                </div>
                <div class="list-group-item">
                    <h4 class="list-group-item-heading">Connections</h4>
                    {% if perms.dcim.view_cable %}
                        <span class="badge pull-right">{{ stats.cable_count }}</span>
                        <p style="padding-left: 20px;"><a href="{% url 'dcim:cable_list' %}">Cables</a></p>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <p style="padding-left: 20px;">Cables</p>
                    {% endif %}
                    {% if perms.dcim.view_interface %}
                        <span class="badge pull-right">{{ stats.interface_connections_count }}</span>
                        <p style="padding-left: 20px;"><a href="{% url 'dcim:interface_connections_list' %}">Interfaces</a></p>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <p style="padding-left: 20px;">Interfaces</p>
                    {% endif %}
                    {% if perms.dcim.view_consoleport and perms.dcim.view_consoleserverport %}
                        <span class="badge pull-right">{{ stats.console_connections_count }}</span>
                        <p style="padding-left: 20px;"><a href="{% url 'dcim:console_connections_list' %}">Console</a></p>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <p style="padding-left: 20px;">Console</p>
                    {% endif %}
                    {% if perms.dcim.view_powerport and perms.dcim.view_poweroutlet %}
                        <span class="badge pull-right">{{ stats.power_connections_count }}</span>
                        <p class="list-group-item-text" style="padding-left: 20px;"><a href="{% url 'dcim:power_connections_list' %}">Power</a></p>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <p style="padding-left: 20px;">Power</p>
                    {% endif %}
                </div>
            </div>
        </div>
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>Power</strong>
            </div>
            <div class="list-group">
                <div class="list-group-item">
                    {% if perms.dcim.view_powerfeed %}
                        <span class="badge pull-right">{{ stats.powerfeed_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'dcim:powerfeed_list' %}">Power Feeds</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Power Feeds</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Electrical circuits delivering power from panels</p>
                </div>
                <div class="list-group-item">
                    {% if perms.dcim.view_powerpanel %}
                        <span class="badge pull-right">{{ stats.powerpanel_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'dcim:powerpanel_list' %}">Power Panels</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Power Panels</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Electrical panels receiving utility power</p>
                </div>
            </div>
        </div>
    </div>
    <div class="col-sm-6 col-md-4">
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>IPAM</strong>
            </div>
            <div class="list-group">
                <div class="list-group-item">
                    {% if perms.ipam.view_vrf %}
                        <span class="badge pull-right">{{ stats.vrf_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'ipam:vrf_list' %}">VRFs</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">VRFs</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Virtual routing and forwarding tables</p>
                </div>
                <div class="list-group-item">
                    {% if perms.ipam.view_aggregate %}
                        <span class="badge pull-right">{{ stats.aggregate_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'ipam:aggregate_list' %}">Aggregates</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Aggregates</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Top-level IP allocations</p>
                </div>
                <div class="list-group-item">
                    {% if perms.ipam.view_prefix %}
                        <span class="badge pull-right">{{ stats.prefix_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'ipam:prefix_list' %}">Prefixes</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Prefixes</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">IPv4 and IPv6 network assignments</p>
                </div>
                <div class="list-group-item">
                    {% if perms.ipam.view_ipaddress %}
                        <span class="badge pull-right">{{ stats.ipaddress_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'ipam:ipaddress_list' %}">IP Addresses</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">IP Addresses</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Individual IPv4 and IPv6 addresses</p>
                </div>
                <div class="list-group-item">
                    {% if perms.ipam.view_vlan %}
                        <span class="badge pull-right">{{ stats.vlan_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'ipam:vlan_list' %}">VLANs</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">VLANs</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Layer two domains, identified by VLAN ID</p>
                </div>
            </div>
        </div>
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>Circuits</strong>
            </div>
            <div class="list-group">
                <div class="list-group-item">
                    {% if perms.circuits.view_provider %}
                        <span class="badge pull-right">{{ stats.provider_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'circuits:provider_list' %}">Providers</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Providers</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Organizations which provide circuit connectivity</p>
                </div>
                <div class="list-group-item">
                    {% if perms.circuits.view_circuit %}
                        <span class="badge pull-right">{{ stats.circuit_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'circuits:circuit_list' %}">Circuits</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Circuits</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Communication links for Internet transit, peering, and other services</p>
                </div>
            </div>
        </div>
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>Virtualization</strong>
            </div>
            <div class="list-group">
                <div class="list-group-item">
                    {% if perms.virtualization.view_cluster %}
                        <span class="badge pull-right">{{ stats.cluster_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'virtualization:cluster_list' %}">Clusters</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Clusters</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Clusters of physical hosts in which VMs reside</p>
                </div>
                <div class="list-group-item">
                    {% if perms.virtualization.view_virtualmachine %}
                        <span class="badge pull-right">{{ stats.virtualmachine_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'virtualization:virtualmachine_list' %}">Virtual Machines</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Virtual Machines</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Virtual compute instances running inside clusters</p>
                </div>
            </div>
        </div>
    </div>
    <div class="col-sm-6 col-md-4">
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>Secrets</strong>
            </div>
            <div class="list-group">
                <div class="list-group-item">
                    {% if perms.secrets.view_secret %}
                        <span class="badge pull-right">{{ stats.secret_count }}</span>
                        <h4 class="list-group-item-heading"><a href="{% url 'secrets:secret_list' %}">Secrets</a></h4>
                    {% else %}
                        <span class="badge pull-right"><i class="fa fa-lock"></i></span>
                        <h4 class="list-group-item-heading">Secrets</h4>
                    {% endif %}
                    <p class="list-group-item-text text-muted">Cryptographically secured secret data</p>
                </div>
            </div>
        </div>
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>Reports</strong>
            </div>
            {% if report_results and perms.extras.view_reportresult %}
                <table class="table table-hover panel-body">
                    {% for result in report_results %}
                        <tr>
                            <td><a href="{% url 'extras:report' name=result.report %}">{{ result.report }}</a></td>
                            <td class="text-right"><span title="{{ result.created }}">{% include 'extras/inc/report_label.html' %}</span></td>
                        </tr>
                    {% endfor %}
                </table>
            {% elif perms.extras.view_reportresult %}
                <div class="panel-body text-muted">
                    None found
                </div>
            {% else %}
                <div class="panel-body text-muted">
                    <i class="fa fa-lock"></i> No permission
                </div>
            {% endif %}
        </div>
        <div class="panel panel-default">
            <div class="panel-heading">
                <strong>Change Log</strong>
            </div>
            {% if changelog and perms.extras.view_objectchange %}
                <div class="list-group">
                    {% for change in changelog %}
                        {% with action=change.get_action_display|lower %}
                            <div class="list-group-item">
                                {% if action == 'created' %}
                                    <span class="label label-success"><i class="fa fa-plus"></i></span>
                                {% elif action == 'updated' %}
                                    <span class="label label-warning"><i class="fa fa-pencil"></i></span>
                                {% elif action == 'deleted' %}
                                    <span class="label label-danger"><i class="fa fa-trash"></i></span>
                                {% endif %}
                                {{ change.changed_object_type.name|bettertitle }}
                                {% if change.changed_object.get_absolute_url %}
                                    <a href="{{ change.changed_object.get_absolute_url }}">{{ change.changed_object }}</a>
                                {% else %}
                                    {{ change.changed_object|default:change.object_repr }}
                                {% endif %}
                                <br />
                                <small>
                                    <span class="text-muted">{{ change.user|default:change.user_name }} -</span>
                                    <a href="{{ change.get_absolute_url }}" class="text-muted">{{ change.time|date:'SHORT_DATETIME_FORMAT' }}</a>
                                </small>
                            </div>
                        {% endwith %}
                        {% if forloop.last %}
                            <div class="list-group-item text-right">
                                <a href="{% url 'extras:objectchange_list' %}">View All Changes</a>
                            </div>
                        {% endif %}
                    {% endfor %}
                </div>
            {% elif perms.extras.view_objectchange %}
                <div class="panel-body text-muted">
                    No change history found
                </div>
            {% else %}
                <div class="panel-body text-muted">
                    <i class="fa fa-lock"></i> No permission
                </div>
            {% endif %}
        </div>
    </div>
</div>
{% endblock %}
