mirror of
				https://github.com/netbox-community/netbox.git
				synced 2024-05-10 07:54:54 +00:00 
			
		
		
		
	* Clean up & comment base templates * Clean up login template & form * Use SVG file for NetBox logo * Simplify breadcrumbs * Merge changelog.html into home.html * Rename title_container block to header * Move breadcrumbs block to object.html * Attach names to endblock template tags * Reorganize root-level templates into base/ and inc/ * Remove obsolete reference to Bootstrap 3.4.1
		
			
				
	
	
		
			101 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{% extends 'base/layout.html' %}
 | 
						|
{% load get_status %}
 | 
						|
{% load helpers %}
 | 
						|
 | 
						|
{% block header %}{% endblock %}
 | 
						|
{% block title %}Home{% endblock %}
 | 
						|
 | 
						|
{% block content %}
 | 
						|
 | 
						|
  {# General stats #}
 | 
						|
  <div class="stats-container">
 | 
						|
    <div class="row masonry">
 | 
						|
      {% for section in stats %}
 | 
						|
      <div class="col col-sm-12 col-md-4 my-2 masonry-item">
 | 
						|
        <div class="card">
 | 
						|
          <h5 class="card-header text-primary">{{ section.label }}</h5>
 | 
						|
          <div class="card-body">
 | 
						|
            <div class="list-group list-group-flush">
 | 
						|
              {% for item in section.items %}
 | 
						|
              <a href="{% url item.url %}" class="list-group-item list-group-item-action{% if item.disabled %} disabled{% endif %}">
 | 
						|
                <div class="d-flex w-100 justify-content-between align-items-center">
 | 
						|
                  <div class="d-flex flex-column align-items-start">
 | 
						|
                    <h6 class="mb-1">{{ item.label }}</h6>
 | 
						|
                    {% if item.description %}
 | 
						|
                    <small class="mb-1 text-muted">{{ item.description }}</small>
 | 
						|
                    {% endif %}
 | 
						|
                  </div>
 | 
						|
                  <span class="badge stat-badge rounded-pill">
 | 
						|
                    {% if item.count == None %}
 | 
						|
                      <i class="mdi mdi-lock"></i>
 | 
						|
                    {% else %}
 | 
						|
                      {{ item.count }}
 | 
						|
                    {% endif %}
 | 
						|
                  </span>
 | 
						|
                </div>
 | 
						|
              </a>
 | 
						|
              {% endfor %}
 | 
						|
            </div>
 | 
						|
            <div class="display-4 font-weight-normal text-primary">
 | 
						|
              {{ item.count }}
 | 
						|
            </div>
 | 
						|
          </div>
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
      {% endfor %}
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
 | 
						|
  {# Changelog #}
 | 
						|
  <div class="row my-4 flex-grow-1 changelog-container">
 | 
						|
    <div class="col">
 | 
						|
      <div class="card">
 | 
						|
        <h4 class="card-header">Changelog</h4>
 | 
						|
        <div class="card-body">
 | 
						|
          {% if changelog and perms.extras.view_objectchange %}
 | 
						|
            {# TODO: Replace this with a django-tables2 Table #}
 | 
						|
            <table class="table align-middle table-hover">
 | 
						|
              <thead>
 | 
						|
                <tr>
 | 
						|
                  <th scope="col">User</th>
 | 
						|
                  <th scope="col">Action</th>
 | 
						|
                  <th scope="col">Type</th>
 | 
						|
                  <th scope="col">Object</th>
 | 
						|
                  <th scope="col">Time</th>
 | 
						|
                  <th scope="col" align="right"></th>
 | 
						|
                </tr>
 | 
						|
              </thead>
 | 
						|
              <tbody>
 | 
						|
                {% for change in changelog %}
 | 
						|
                  <tr class="{% get_status change.get_action_display %}">
 | 
						|
                    <th scope="row">{{ change.user|default:change.user_name }}</th>
 | 
						|
                    <td>{{ change.get_action_display|bettertitle }}</td>
 | 
						|
                    <td>{{ change.changed_object_type.name|bettertitle }}</td>
 | 
						|
                    <td>
 | 
						|
                      {% if change.changed_object.get_absolute_url %}
 | 
						|
                      <a class="text-body" href="{{ change.changed_object.get_absolute_url }}">{{ change.changed_object }}</a>
 | 
						|
                      {% else %} {{ change.changed_object|default:change.object_repr }} {% endif %}
 | 
						|
                    </td>
 | 
						|
 | 
						|
                    <td>{{ change.time|date:'SHORT_DATETIME_FORMAT' }}</td>
 | 
						|
                    <td>
 | 
						|
                      <a role="button" class="text-body" href="{{ change.get_absolute_url }}">
 | 
						|
                        <i class="mdi mdi-dots-horizontal" data-bs-toggle="tooltip" data-bs-placement="left" title="View Change Details"></i>
 | 
						|
                      </a>
 | 
						|
                    </td>
 | 
						|
                  </tr>
 | 
						|
                {% endfor %}
 | 
						|
              </tbody>
 | 
						|
            </table>
 | 
						|
          {% elif perms.extras.view_objectchange %}
 | 
						|
            <div class="alert alert-secondary mt-4" role="alert">
 | 
						|
              No change history found.
 | 
						|
            </div>
 | 
						|
          {% endif %}
 | 
						|
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
{% endblock content %}
 |