{% extends 'generic/object.html' %}
{% load helpers %}
{% load plugins %}
{% load i18n %}

{% block breadcrumbs %}
  {{ block.super }}
  <li class="breadcrumb-item">
    <a href="{% url 'dcim:device_frontports' pk=object.device.pk %}">{{ object.device }}</a>
  </li>
{% endblock %}

{% block content %}
    <div class="row">
        <div class="col col-12 col-md-6">
            <div class="card">
                <h2 class="card-header">{% trans "Front Port" %}</h2>
                <table class="table table-hover attr-table">
                    <tr>
                        <th scope="row">{% trans "Device" %}</th>
                        <td>{{ object.device|linkify }}</td>
                    </tr>
                    <tr>
                        <th scope="row">{% trans "Module" %}</th>
                        <td>{{ object.module|linkify|placeholder }}</td>
                    </tr>
                    <tr>
                        <th scope="row">{% trans "Name" %}</th>
                        <td>{{ object.name }}</td>
                    </tr>
                    <tr>
                        <th scope="row">{% trans "Label" %}</th>
                        <td>{{ object.label|placeholder }}</td>
                    </tr>
                    <tr>
                        <th scope="row">{% trans "Type" %}</th>
                        <td>{{ object.get_type_display }}</td>
                    </tr>
                    <tr>
                      <th scope="row">{% trans "Color" %}</th>
                      <td>
                        {% if object.color %}
                          <span class="badge color-label" style="background-color: #{{ object.color }}">&nbsp;</span>
                        {% else %}
                          {{ ''|placeholder }}
                        {% endif %}
                      </td>
                    </tr>
                    <tr>
                        <th scope="row">{% trans "Positions" %}</th>
                        <td>{{ object.positions }}</td>
                    </tr>
                    <tr>
                        <th scope="row">{% trans "Description" %}</th>
                        <td>{{ object.description|placeholder }}</td>
                    </tr>
                </table>
            </div>
            {% include 'inc/panels/custom_fields.html' %}
            {% include 'inc/panels/tags.html' %}
            {% include 'dcim/inc/panels/inventory_items.html' %}
            {% plugin_left_page object %}
        </div>
        <div class="col col-12 col-md-6">
            <div class="card">
                <h2 class="card-header">{% trans "Connection" %}</h2>
                {% if object.mark_connected %}
                    <div class="card-body text-muted">
                      <span class="text-success"><i class="mdi mdi-check-bold"></i></span> {% trans "Marked as Connected" %}
                    </div>
                {% elif object.cable %}
                    <table class="table table-hover attr-table">
                        <tr>
                            <th scope="row">{% trans "Cable" %}</th>
                            <td>
                                {{ object.cable|linkify }}
                                <a href="{% url 'dcim:frontport_trace' pk=object.pk %}" class="btn btn-sm btn-primary" title="{% trans "Trace" %}">
                                    <i class="mdi mdi-transit-connection-variant" aria-hidden="true"></i>
                                </a>
                            </td>
                        </tr>
                        <tr>
                            <th scope="row">{% trans "Connection Status" %}</th>
                            <td>
                                {% if object.cable.status %}
                                    <span class="badge text-bg-success">{{ object.cable.get_status_display }}</span>
                                {% else %}
                                    <span class="badge text-bg-info">{{ object.cable.get_status_display }}</span>
                                {% endif %}
                            </td>
                        </tr>
                    </table>
                {% else %}
                    <div class="card-body text-muted">
                        {% trans "Not Connected" %}
                        {% if perms.dcim.add_cable %}
                            <div class="dropdown float-end">
                                <button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                    <span class="mdi mdi-ethernet-cable" aria-hidden="true"></span> {% trans "Connect" %}
                                </button>
                                <ul class="dropdown-menu dropdown-menu-end">
                                    <li>
                                        <a class="dropdown-item" href="{% url 'dcim:cable_add' %}?a_terminations_type=dcim.frontport&a_terminations={{ object.pk }}&b_terminations_type=dcim.interface&return_url={{ object.get_absolute_url }}">{% trans "Interface" %}</a>
                                    </li>
                                    <li>
                                        <a class="dropdown-item" href="{% url 'dcim:cable_add' %}?a_terminations_type=dcim.frontport&a_terminations={{ object.pk }}&b_terminations_type=dcim.consoleserverport&return_url={{ object.get_absolute_url }}">{% trans "Console Server Port" %}</a>
                                    </li>
                                    <li>
                                        <a class="dropdown-item" href="{% url 'dcim:cable_add' %}?a_terminations_type=dcim.frontport&a_terminations={{ object.pk }}&b_terminations_type=dcim.consoleport&return_url={{ object.get_absolute_url }}">{% trans "Console Port" %}</a>
                                    </li>
                                    <li>
                                        <a class="dropdown-item" href="{% url 'dcim:cable_add' %}?a_terminations_type=dcim.frontport&a_terminations={{ object.pk }}&b_terminations_type=dcim.frontport&return_url={{ object.get_absolute_url }}">{% trans "Front Port" %}</a>
                                    </li>
                                    <li>
                                        <a class="dropdown-item" href="{% url 'dcim:cable_add' %}?a_terminations_type=dcim.frontport&a_terminations={{ object.pk }}&b_terminations_type=dcim.rearport&return_url={{ object.get_absolute_url }}">{% trans "Rear Port" %}</a>
                                    </li>
                                    <li>
                                        <a class="dropdown-item" href="{% url 'dcim:cable_add' %}?a_terminations_type=dcim.frontport&a_terminations={{ object.pk }}&b_terminations_type=circuits.circuittermination&return_url={{ object.get_absolute_url }}">{% trans "Circuit Termination" %}</a>
                                    </li>
                                </ul>
                            </div>
                        {% endif %}
                    </div>
                {% endif %}
            </div>
            <div class="card">
              <h2 class="card-header">{% trans "Port Mappings" %}</h2>
              <table class="table table-hover">
                {% if rear_port_mappings %}
                  <thead>
                    <tr>
                      <th>{% trans "Position" %}</th>
                      <th>{% trans "Rear Port" %}</th>
                    </tr>
                  </thead>
                {% endif %}
                {% for mapping in rear_port_mappings %}
                  <tr>
                    <td>{{ mapping.front_port_position }}</td>
                    <td>
                      <a href="{{ mapping.rear_port.get_absolute_url }}">{{ mapping.rear_port }}:{{ mapping.rear_port_position }}</a>
                    </td>
                  </tr>
                {% empty %}
                  {% trans "No mappings defined" %}
                {% endfor %}
              </table>
            </div>
            {% plugin_right_page object %}
        </div>
    </div>
    <div class="row">
        <div class="col col-md-12">
            {% plugin_full_width_page object %}
        </div>
    </div>
{% endblock %}
