fix(admin): blokada konta inline w kolumnie Status zamiast osobnej kolumny
Some checks failed
NordaBiz Tests / Unit & Integration Tests (push) Has been cancelled
NordaBiz Tests / E2E Tests (Playwright) (push) Has been cancelled
NordaBiz Tests / Smoke Tests (Production) (push) Has been cancelled
NordaBiz Tests / Send Failure Notification (push) Has been cancelled

Przeniesiono info o blokadzie do kolumny Status — nie rozjeżdża tabeli.
Badge "Zablokowane (X min)" klikalny → odblokuj. Badge "Xx błędne hasło" żółty.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-03-23 10:30:15 +01:00
parent 8194105205
commit 5e6382bf16

View File

@ -1187,7 +1187,6 @@
<th>Rola</th>
<th data-sort-key="created" data-sort-type="date" class="sort-desc">Utworzono</th>
<th data-sort-key="last_login" data-sort-type="date">Ostatnie logowanie</th>
<th>Blokada</th>
<th>Status</th>
<th>Akcje</th>
</tr>
@ -1255,30 +1254,20 @@
<span style="color: var(--text-muted, #9CA3AF);">Nigdy</span>
{% endif %}
</td>
<td style="font-size: var(--font-size-sm);">
<td>
{% if user.locked_until and user.locked_until > now %}
{% set remaining = (user.locked_until - now).total_seconds() %}
<span class="badge" style="background: #FEE2E2; color: #DC2626; font-weight: 600;">
<span class="badge" style="background: #FEE2E2; color: #DC2626; font-weight: 600; cursor: pointer;"
onclick="unlockUser({{ user.id }}, '{{ user.email|e }}')"
title="Kliknij aby odblokować">
Zablokowane ({{ (remaining / 60)|int }} min)
</span>
<br>
<span style="color: var(--text-muted); font-size: 11px;">{{ user.failed_login_attempts }} nieudanych prób</span>
<br>
<button class="btn-icon" style="color: #059669; margin-top: 2px;"
onclick="unlockUser({{ user.id }}, '{{ user.email|e }}')"
data-tooltip="Odblokuj konto">
<svg fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24" style="width:16px;height:16px;">
<path d="M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z"/>
</svg>
<span style="font-size: 11px;">Odblokuj</span>
</button>
{% elif user.failed_login_attempts and user.failed_login_attempts > 0 %}
<span style="color: #D97706;">{{ user.failed_login_attempts }} nieud. prób</span>
{% else %}
<span style="color: var(--text-muted);">-</span>
<span class="badge" style="background: #FEF3C7; color: #D97706;"
title="{{ user.failed_login_attempts }} nieudanych prób logowania">
{{ user.failed_login_attempts }}x błędne hasło
</span>
{% endif %}
</td>
<td>
{% if user.can_manage_users() %}
<span class="badge badge-admin">Admin</span>
{% endif %}