3359a8db13
Модель/сервисы HR-заявок с заменами, приглашения на установку пароля (инвайты), обновлённая страница профиля сотрудника и правки 2FA. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
46 lines
3.1 KiB
HTML
46 lines
3.1 KiB
HTML
{% load static %}
|
|
<!DOCTYPE html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Настройка 2FA — АКС Портал</title>
|
|
<link rel="stylesheet" href="{% static 'assets/css/main.css' %}">
|
|
</head>
|
|
<body style="background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-sidebar-accent) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem; font-family: var(--font-sans);">
|
|
|
|
<div style="width: 100%; max-width: 30rem; background: var(--color-card); border-radius: 0.75rem; border: 1px solid var(--color-border); box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1); overflow: hidden;">
|
|
<div style="padding: 1.75rem 2rem 1.25rem; text-align: center; border-bottom: 1px solid var(--color-border);">
|
|
<h1 style="font-size: 1.25rem; font-weight: 600; color: var(--color-foreground); margin-bottom: 0.375rem;">Двухфакторная аутентификация</h1>
|
|
<p style="font-size: 0.875rem; color: var(--color-muted-foreground);">Для аккаунтов администраторов 2FA обязательна. Отсканируйте QR-код в приложении-аутентификаторе (Google Authenticator, Authy).</p>
|
|
</div>
|
|
|
|
<div style="padding: 1.75rem 2rem;">
|
|
{% if reset_notice %}
|
|
<div style="margin-bottom: 1rem; color: #856404; background: rgba(255,193,7,0.15); border: 1px solid rgba(255,193,7,0.35); padding: 0.75rem; border-radius: 0.5rem; font-size: 0.875rem;">{{ reset_notice }}</div>
|
|
{% endif %}
|
|
{% if error %}
|
|
<div style="margin-bottom: 1rem; color: #d63333; background: rgba(214,51,51,0.1); border: 1px solid rgba(214,51,51,0.25); padding: 0.75rem; border-radius: 0.5rem; font-size: 0.875rem;">{{ error }}</div>
|
|
{% endif %}
|
|
|
|
<div style="display:flex; justify-content:center; margin-bottom:1rem;">
|
|
<img src="{{ qr }}" alt="QR" style="width:200px; height:200px; border:1px solid var(--color-border); border-radius:0.5rem;">
|
|
</div>
|
|
|
|
<div style="text-align:center; margin-bottom:1.25rem;">
|
|
<div style="font-size:0.75rem; color:var(--color-muted-foreground); margin-bottom:0.25rem;">Или введите ключ вручную:</div>
|
|
<code style="font-size:0.9rem; font-weight:600; letter-spacing:0.05em; color:var(--color-foreground); word-break:break-all;">{{ secret }}</code>
|
|
</div>
|
|
|
|
<form method="post">
|
|
{% csrf_token %}
|
|
<label style="display:block; font-size:0.8125rem; font-weight:500; color:var(--color-foreground); margin-bottom:0.375rem;">Код из приложения (6 цифр)</label>
|
|
<input type="text" name="code" inputmode="numeric" autocomplete="one-time-code" maxlength="6" required autofocus
|
|
class="input" style="width:100%; text-align:center; letter-spacing:0.3em; font-size:1.1rem; margin-bottom:1rem;">
|
|
<button type="submit" class="btn btn-primary" style="width:100%; justify-content:center;">Включить 2FA</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|