1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00
Files
netbox-community-netbox/netbox/templates/login.html
2024-05-08 14:06:04 -04:00

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 %}