mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
96 lines
3.0 KiB
HTML
96 lines
3.0 KiB
HTML
{# User login page. Extends base.html directly to override normal UI layout. #}
|
|
{% extends 'base/base.html' %}
|
|
{% load form_helpers %}
|
|
{% load static %}
|
|
{% load i18n %}
|
|
|
|
{% block layout %}
|
|
|
|
<div class="page page-center">
|
|
<div class="container container-tight py-4">
|
|
|
|
{# NetBox logo #}
|
|
<div class="text-center mb-4">
|
|
<img src="{% static 'netbox_logo.svg' %}" height="80" alt="{% trans "NetBox logo" %}" />
|
|
</div>
|
|
|
|
{# Login banner #}
|
|
{% if config.BANNER_LOGIN %}
|
|
<div class="mb-5 text-center">
|
|
{{ config.BANNER_LOGIN|safe }}
|
|
</div>
|
|
{% endif %}
|
|
|
|
{# Login form errors #}
|
|
{% if form.non_field_errors %}
|
|
<div class="alert alert-danger" role="alert">
|
|
<h4 class="alert-heading">{% trans "Errors" %}</h4>
|
|
<p>
|
|
{{ form.non_field_errors }}
|
|
</p>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="card card-md">
|
|
<div class="card-body">
|
|
<h2 class="text-center mb-4">{% trans "Log In" %}</h2>
|
|
|
|
{# Login form #}
|
|
<form action="{% url 'login' %}" method="post">
|
|
{% csrf_token %}
|
|
|
|
{# Set post-login URL #}
|
|
{% if 'next' in request.GET %}
|
|
<input type="hidden" name="next" value="{{ request.GET.next }}" />
|
|
{% elif 'next' in request.POST %}
|
|
<input type="hidden" name="next" value="{{ request.POST.next }}" />
|
|
{% endif %}
|
|
|
|
<div class="form-group">
|
|
<label for="id_username" style="font-weight: bold; margin-bottom: 5px;">{{ form.username.label }}</label>
|
|
{{ form.username }}
|
|
{% for error in form.username.errors %}
|
|
<div class="alert alert-danger">{{ error }}</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="id_password" style="font-weight: bold; margin-bottom: 5px;">{{ form.password.label }}</label>
|
|
{{ form.password }}
|
|
{% for error in form.password.errors %}
|
|
<div class="alert alert-danger">{{ error }}</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
<div class="form-footer">
|
|
<button type="submit" class="btn btn-primary w-100">
|
|
{% trans "Sign In" %}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
{# SSO login #}
|
|
{% if auth_backends %}
|
|
<div class="hr-text">{% trans "Or" context "Denotes an alternative option" %}</div>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
{% for backend in auth_backends %}
|
|
<div class="col">
|
|
<a href="{{ backend.url }}" class="btn w-100">
|
|
{% if backend.icon_name %}<i class="mdi mdi-{{ backend.icon_name }}"></i>{% endif %}
|
|
{{ backend.display_name }}
|
|
</a>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock layout %}
|