231 lines
9.9 KiB
HTML
231 lines
9.9 KiB
HTML
{% load i18n static %}
|
||
|
||
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
{% block head %}
|
||
{% block meta %}
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
<meta name="robots" content="NONE,NOARCHIVE" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="description" content="">
|
||
<meta name="author" content="Pangea">
|
||
{% endblock %}
|
||
<title>{% block title %}{% if title %}{{ title }} – {% endif %}DeviceHub{% endblock %}</title>
|
||
|
||
<!-- Bootstrap core CSS -->
|
||
{% block style %}
|
||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
|
||
<link rel="stylesheet" href= "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
|
||
<link href="{% static "/css/bootstrap.min.css" %}" rel="stylesheet">
|
||
|
||
<style>
|
||
.bd-placeholder-img {
|
||
font-size: 1.125rem;
|
||
text-anchor: middle;
|
||
-webkit-user-select: none;
|
||
-moz-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
@media (min-width: 768px) {
|
||
.bd-placeholder-img-lg {
|
||
font-size: 3.5rem;
|
||
}
|
||
}
|
||
html, body {
|
||
height: 100%;
|
||
}
|
||
|
||
body {
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.main-content {
|
||
flex-grow: 1;
|
||
}
|
||
|
||
footer {
|
||
width: 100%;
|
||
}
|
||
</style>
|
||
|
||
|
||
<!-- Custom styles for this template -->
|
||
<link href="{% static "/css/dashboard.css" %}" rel="stylesheet">
|
||
{% endblock %}
|
||
{% endblock %}
|
||
</head>
|
||
<body>
|
||
<header class="navbar navbar-dark sticky-top admin bg-green flex-md-nowrap p-0 shadow">
|
||
<a class="navbar-brand col-md-3 col-lg-2 me-0 px-3" href="#">DEVICEHUB</a>
|
||
<div class="navbar-nav navbar-sub-brand">
|
||
{{ user.institution.name|upper }}
|
||
</div>
|
||
<div class="navbar-nav">
|
||
<div class="nav-item text-nowrap">
|
||
<i id="user-avatar" class="bi bi-person-circle"></i>
|
||
<a class="navbar-sub-brand px-3" href="{% url 'user:panel' %}">{{ user.email }}</a>
|
||
<a class="logout" href="{% url 'login:logout' %}">
|
||
<i class="fa-solid fa-arrow-right-from-bracket"></i>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="container-fluid">
|
||
<div class="row">
|
||
<nav id="sidebarMenu" class="col-md-3 col-lg-2 d-md-block bg-light sidebar collapse">
|
||
<div class="position-sticky pt-5">
|
||
<ul class="nav flex-column">
|
||
{% if user.is_admin %}
|
||
<li class="nav-item">
|
||
<a class="admin {% if path in 'panel users' %}active {% endif %}nav-link fw-bold" data-bs-toggle="collapse" data-bs-target="#ul_admin" aria-expanded="false" aria-controls="ul_admin" href="javascript:void()">
|
||
<i class="bi bi-person-fill-gear icon_sidebar"></i>
|
||
{% trans 'Admin' %}
|
||
</a>
|
||
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if path in 'panel users' %}expanded{% else %}collapse{% endif %}" id="ul_admin" data-bs-parent="#sidebarMenu">
|
||
<li class="nav-item">
|
||
<a class="nav-link{% if path == 'panel' %} active2{% endif %}" href="{% url 'admin:panel' %}">
|
||
{% trans 'Panel' %}
|
||
</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link{% if path == 'users' %} active2{% endif %}" href="{% url 'admin:users' %}">
|
||
{% trans 'Users' %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
{% endif %}
|
||
<li class="nav-item">
|
||
<a class="admin {% if path == 'unassigned_devices' %}active {% endif %}nav-link fw-bold" data-bs-toggle="collapse" data-bs-target="#ul_devices" aria-expanded="false" aria-controls="ul_devices" href="javascript:void()">
|
||
<i class="bi bi-laptop icon_sidebar"></i>
|
||
{% trans 'Devices' %}
|
||
</a>
|
||
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if path == 'unassigned_devices' %}expanded{% else %}collapse{% endif %}" id="ul_devices" data-bs-parent="#sidebarMenu">
|
||
<li class="nav-item">
|
||
<a class="nav-link{% if path == 'unassigned_devices' %} active2{% endif %}" href="{% url 'dashboard:unassigned_devices' %}">
|
||
{% trans 'Unassigned devices' %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="admin {% if path == 'tag' %}active {% endif %}nav-link fw-bold" data-bs-toggle="collapse" data-bs-target="#ul_lots" aria-expanded="false" aria-controls="ul_lots" href="javascript:void()">
|
||
<i class="bi bi-database icon_sidebar"></i>
|
||
{% trans 'Lots' %}
|
||
</a>
|
||
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if path == 'tag' %}expanded{% else %}collapse{% endif %}" id="ul_lots" data-bs-parent="#sidebarMenu">
|
||
{% for tag in lot_tags %}
|
||
<li class="nav-items">
|
||
<a class="nav-link{% if path == 'tag' %} active2{% endif %}" href="{% url 'lot:tag' tag.id %}">
|
||
{{ tag.name }}
|
||
</a>
|
||
</li>
|
||
{% endfor %}
|
||
</ul>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="admin {% if path in 'upload list' %}active {% endif %}nav-link fw-bold" data-bs-toggle="collapse" data-bs-target="#ul_evidences" aria-expanded="false" aria-controls="ul_evidences" href="javascript:void()">
|
||
<i class="bi bi-usb-drive icon_sidebar"></i>
|
||
{% trans 'Evidences' %}
|
||
</a>
|
||
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if path in 'upload list' %}expanded{% else %}collapse{% endif %}" id="ul_evidences" data-bs-parent="#sidebarMenu">
|
||
<li class="nav-item">
|
||
<a class="nav-link{% if path == 'upload' %} active2{% endif %}" href="{% url 'evidence:upload' %}">
|
||
{% trans 'Upload one' %}
|
||
</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link{% if path == 'list' %} active2{% endif %}" href="{% url 'evidence:list' %}">
|
||
{% trans 'Old evidences' %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="admin {% if path in 'import add' %}active {% endif %}nav-link fw-bold" data-bs-toggle="collapse" data-bs-target="#ul_placeholders" aria-expanded="false" aria-controls="ul_placeholders" href="javascript:void()">
|
||
<i class="bi-menu-button-wide icon_sidebar"></i>
|
||
{% trans 'Placeholders' %}
|
||
</a>
|
||
<ul class="flex-column mb-2 ul_sidebar accordion-collapse {% if path in 'import add' %}expanded{% else %}collapse{% endif %}" id="ul_placeholders" data-bs-parent="#sidebarMenu">
|
||
<li class="nav-item">
|
||
<a class="nav-link{% if path == 'import' %} active2{% endif %}" href="{% url 'evidence:import' %}">
|
||
{% trans 'Upload Spreadsheet' %}
|
||
</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link{% if path == 'add' %} active2{% endif %}" href="{% url 'device:add' %}">
|
||
{% trans 'Create one' %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link fw-bold" href="{% url 'api:tokens' %}">
|
||
<i class="bi-menu-button-wide icon_sidebar"></i>
|
||
{% trans 'Tokens' %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
|
||
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
|
||
{% block messages %}
|
||
{% for message in messages %}
|
||
<div class="alert {{ message.tags|default:'info' }} alert-dismissible fade show mt-3" role="alert">
|
||
{{ message }}
|
||
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close">
|
||
</button>
|
||
</div>
|
||
{% endfor %}
|
||
{% endblock messages %}
|
||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2">
|
||
<h1 class="h2">{{ title }}</h1>
|
||
|
||
<form method="post" action="{% url 'dashboard:search' %}">
|
||
{% csrf_token %}
|
||
<div class="input-group rounded">
|
||
<input type="search" name="search" class="form-control rounded" placeholder="Search your device..." aria-label="Search" aria-describedby="search-addon" />
|
||
<span class="input-group-text border-0" id="search-addon">
|
||
<i class="fas fa-search"></i>
|
||
</span>
|
||
</div>
|
||
</form>
|
||
|
||
</div>
|
||
|
||
<div class="row border-bottom mb-3">
|
||
<div class="col">
|
||
<small style="color:#899bbd"><i>{{ breadcrumb }}</i></small>
|
||
</div>
|
||
<div class="btn-toolbar mb-2 mb-md-0">
|
||
</div>
|
||
</div>
|
||
|
||
{% block content %}
|
||
{% endblock content %}
|
||
|
||
</main>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Footer -->
|
||
<footer class="footer text-center mt-auto py-3">
|
||
<div class="container">
|
||
<span class="text-muted">{{ commit_id }}</span>
|
||
</div>
|
||
</footer>
|
||
|
||
{% block script %}
|
||
<script src="{% static "js/jquery-3.3.1.slim.min.js" %}"></script>
|
||
<script src="{% static "js/popper.min.js" %}"></script>
|
||
<script src="{% static "js/bootstrap.min.js" %}"></script>
|
||
{% block extrascript %}{% endblock %}
|
||
{% endblock %}
|
||
</body>
|
||
</html>
|