- ApiClient теперь обрабатывает 401 и 403 ошибки для обновления токена - Добавлен JWTRefreshMiddleware для проактивного обновления токенов за 5 минут до истечения - Добавлена настройка JWT_REFRESH_THRESHOLD_MINUTES (по умолчанию 5) - Исправлена проблема с периодическими 403 ошибками после истечения access token
95 lines
4.3 KiB
HTML
95 lines
4.3 KiB
HTML
{% extends "base.html" %}
|
|
{% load static %}
|
|
|
|
{% block title %}Настройки уведомлений{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid py-4">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card shadow-sm">
|
|
<div class="card-header bg-primary text-white">
|
|
<h4 class="mb-0"><i class="bi-gear me-2"></i>Настройки уведомлений</h4>
|
|
</div>
|
|
<div class="card-body">
|
|
<p class="text-muted">
|
|
Настройте, какие уведомления вы хотите получать и по каким каналам.
|
|
</p>
|
|
|
|
<div class="alert alert-info">
|
|
<i class="bi-info-circle me-2"></i>
|
|
<strong>Этап 1 завершен!</strong> Интерфейс настроек будет реализован в этапе 4.
|
|
</div>
|
|
|
|
<h5 class="mt-4">Доступные категории уведомлений:</h5>
|
|
<ul class="list-group">
|
|
<li class="list-group-item d-flex align-items-center">
|
|
<i class="bi-chat-dots text-primary me-3 fs-4"></i>
|
|
<div class="flex-grow-1">
|
|
<strong>Коммуникации</strong>
|
|
<div class="small text-muted">Сообщения в чатах, упоминания, ответы</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex align-items-center">
|
|
<i class="bi-file-earmark-text text-info me-3 fs-4"></i>
|
|
<div class="flex-grow-1">
|
|
<strong>Документы</strong>
|
|
<div class="small text-muted">Документы на ознакомление, комментарии</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex align-items-center">
|
|
<i class="bi-clipboard-check text-success me-3 fs-4"></i>
|
|
<div class="flex-grow-1">
|
|
<strong>Заявления</strong>
|
|
<div class="small text-muted">Новые заявки, изменения статусов</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex align-items-center">
|
|
<i class="bi-calendar-event text-warning me-3 fs-4"></i>
|
|
<div class="flex-grow-1">
|
|
<strong>Календарь</strong>
|
|
<div class="small text-muted">Новые события, напоминания</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex align-items-center">
|
|
<i class="bi-people text-secondary me-3 fs-4"></i>
|
|
<div class="flex-grow-1">
|
|
<strong>Отдел</strong>
|
|
<div class="small text-muted">Изменения в отделе, объявления</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex align-items-center">
|
|
<i class="bi-person-circle text-dark me-3 fs-4"></i>
|
|
<div class="flex-grow-1">
|
|
<strong>Профиль</strong>
|
|
<div class="small text-muted">Изменения профиля, безопасность</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex align-items-center">
|
|
<i class="bi-newspaper text-danger me-3 fs-4"></i>
|
|
<div class="flex-grow-1">
|
|
<strong>Новости</strong>
|
|
<div class="small text-muted">Новые посты, комментарии, реакции</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex align-items-center">
|
|
<i class="bi-gear text-muted me-3 fs-4"></i>
|
|
<div class="flex-grow-1">
|
|
<strong>Система</strong>
|
|
<div class="small text-muted">Технические работы, важные объявления</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="mt-4">
|
|
<a href="{% url 'notifications:list' %}" class="btn btn-secondary">
|
|
<i class="bi-arrow-left me-1"></i>Назад к уведомлениям
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|