From c5123eb02f9540bbc6b2e48526a2657e4ccde447 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=9D=D0=B0=D0=B4=D0=B5?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Mon, 8 Sep 2025 17:19:57 +0300 Subject: [PATCH] =?UTF-8?q?feat(calendar):=20=D0=B8=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D0=B3=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B2=D1=8B=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=B0=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D0=B0=20=D1=87?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B7=20API=20/my-departments=20feat(calenda?= =?UTF-8?q?r):=20=D0=BF=D1=80=D0=B0=D0=B2=D1=8B=D0=B9=20=D0=BA=D0=B0=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B4=D0=B0=D1=80=D1=8C=20=D1=81=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=BE=D0=BC=20=D0=B8=D1=81=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B8=D0=BA=D0=B0=20=D0=B8=20=D1=81=D0=BE=D0=B7=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC=20=D1=81=D0=BE=D0=B1=D1=8B=D1=82?= =?UTF-8?q?=D0=B8=D0=B9=20(Bearer)=20fix(layout):=20=D0=B2=D1=8B=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BD=D1=8F=D0=BB=20=D0=BA=D0=BE=D0=BB=D0=BE=D0=BD?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=BA=20=D1=86=D0=B5=D0=BD=D1=82=D1=80=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D0=BC=D1=83=20=D0=BA=D0=BE=D0=BD=D1=82?= =?UTF-8?q?=D0=B5=D0=B9=D0=BD=D0=B5=D1=80=D1=83,=20=D1=83=D0=B1=D1=80?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=B5=20=D0=BE?= =?UTF-8?q?=D1=82=D1=81=D1=82=D1=83=D0=BF=D1=8B=20fix(templates):=20=D1=83?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D0=BD=D0=B0=20=D0=BD=D0=B5=D1=81=D1=83=D1=89?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89=D0=B0=D1=8F=20=D1=82?= =?UTF-8?q?=D1=8D=D0=B3-=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=82=D0=BE=D0=BA=D0=B5=D0=BD=D0=B0;=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20meta=20api-token=20feat(chat/u?= =?UTF-8?q?i):=20=D0=BF=D0=BE=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?chat-root,=20=D1=81=D0=BA=D1=80=D0=BE=D0=BB=D0=BB=D0=B0=20?= =?UTF-8?q?=D0=B8=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8=20=C2=AB=D0=B2?= =?UTF-8?q?=D0=BD=D0=B8=D0=B7=C2=BB=20style(feed):=20=C2=AB=D0=9F=D0=BE?= =?UTF-8?q?=D0=B4=D1=80=D0=BE=D0=B1=D0=BD=D0=B5=D0=B5/=D0=A1=D0=BA=D1=80?= =?UTF-8?q?=D1=8B=D1=82=D1=8C=C2=BB=20=E2=80=94=20=D1=81=D0=B5=D1=80=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=B1=D0=B5=D0=B7=20=D0=BF=D0=BE=D0=B4=D1=87=D1=91?= =?UTF-8?q?=D1=80=D0=BA=D0=B8=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - добавлен эндпоинт DepartmentViewSet.my_departments для получения доступных отделов (HR → все отделы, иначе только руководимые/активные) - настроены permissions для нового экшена - фронтенд: заменена логика дропдауна календаря * загрузка списка отделов через /api/v1/departments/my-departments/ * автогенерация пунктов меню с именами отделов * fallback на data-dept-id при пустом ответе - обновлена подпись текущего календаря (кнопка и модалка «Создать событие») - сохранена логика работы с событиями (компания/отделы), переработан только источник данных для списка отделов — Календарь (правая колонка) • Добавлен дропдаун возле «Календарь» для выбора источника: «Компания» и «Мои отделы». • «Мои отделы» подгружаются из GET /api/v1/employees/my-departments/ (JSON: [{id, name}]). • Рядом с «События» добавлена кнопка «+», открывающая модал создания события. • Создание события уходит в POST: - /api/v1/calendar/company-events/ - /api/v1/calendar/departments//events/ Форматы: all-day (date) либо с временем (start/end ISO). Не через сессию. • FullCalendar переключает источник событий в зависимости от выбранного календаря и ходит за ними с параметрами ?start=YYYY-MM-DD&end=YYYY-MM-DD. • Вертикальная «На этой неделе» рендерится из тех же данных (без лишних запросов, если события уже в памяти FullCalendar). • Мобильная версия — Offcanvas + тот же функционал. — Авторизация / API • Все запросы к API — через Authorization: Bearer . • В base.html добавлен мета-тег с токеном: • Общий helper authFetch() отключает cookie/сессию и всегда проставляет заголовки. • Это устраняет 401 при GET и готовит почву под POST (ранее наблюдался 405 без POST-ручек). — Вёрстка / контейнер • Левую и правую колонки «привязал» к центральному блоку (container-xxl), убраны чрезмерные внутренние паддинги, чтобы центральный контент не сжимался. • Уточнены вертикальные расстояния между карточками (gap / margin), карточки теперь реально «прижимаются» по вертикали, где это нужно. • В main контент тянется на всю доступную ширину внутри контейнера. — Чаты • Объяснён и оставлен padding у .chat-root (верх/низ под шапку и композер, включая safe-area). • Кнопка «вниз» и стили скролла — без конфликтов с обёртками. — Шаблоны • Удалён несуществующий тэг `{% api_access_token %}` (исправляет TemplateSyntaxError). • Вставлен рабочий meta name="api-token" вместо кастомного тега. — Кнопки «Подробнее/Скрыть» • Сделаны серыми и без подчёркивания (btn btn-link text-secondary text-decoration-none). Затронутые файлы (основные): • backend/templates/base.html • backend/templates/includes/rightbar_calendar.html (новый/полностью переписан) • backend/templates/feed/_feed_cards.html (кнопки «Подробнее/Скрыть») • backend/templates/includes/sidebar.html (мелкие правки отступов) • стили в базовом шаблоне: правки контейнеров/отступов/гридов • (JS в rightbar_calendar): authFetch, загрузка отделов, POST создания события, weekly strip Примечания по бэку (ожидания фронта): • GET /api/v1/employees/my-departments/ → 200 OK, JSON: [{ "id": , "name": }, …] • GET /api/v1/calendar/company-events/?start=&end= • GET /api/v1/calendar/departments//events/?start=&end= • POST /api/v1/calendar/company-events/ (body: {title, date|start,end, allDay?, color?}) • POST /api/v1/calendar/departments//events/ (аналогично) • Все ручки принимают Authorization: Bearer . • Если раньше был 405 на POST — включить create() во вьюсетах и добавить в роутер. --- backend/api.zip | Bin 0 -> 142007 bytes backend/api/templatetags/__init__.py | 0 backend/api/templatetags/api_tags.py | 16 + backend/api/tests.py | 3 - .../api/v1/calendar/{viewsets.py => views.py} | 0 backend/api/v1/employees/serializers.py | 91 +--- backend/api/v1/employees/views.py | 37 +- backend/api/v1/feed/serializers.py | 24 +- backend/api/v1/serializers.py | 82 ++++ backend/api/v1/urls.py | 18 +- backend/employees/views_front.py | 28 +- backend/templates/base.html | 464 +++++++++--------- .../templates/communications/chat_detail.html | 17 +- .../templates/communications/chat_list.html | 4 +- .../employees/department_detail.html | 4 +- .../templates/employees/department_list.html | 4 +- .../templates/employees/employee_detail.html | 19 +- .../templates/employees/employees_list.html | 4 +- backend/templates/feed/_feed_cards.html | 77 +-- backend/templates/feed/feed_list.html | 26 +- backend/templates/feed/post_detail.html | 4 +- .../templates/includes/rightbar_calendar.html | 401 ++++++++++----- backend/templates/includes/sidebar.html | 2 +- .../templates/requests_app/all_requests.html | 4 +- .../templates/requests_app/my_requests.html | 4 +- .../requests_app/request_detail.html | 4 +- .../requests_app/request_process.html | 4 +- 27 files changed, 796 insertions(+), 545 deletions(-) create mode 100644 backend/api.zip create mode 100644 backend/api/templatetags/__init__.py create mode 100644 backend/api/templatetags/api_tags.py delete mode 100644 backend/api/tests.py rename backend/api/v1/calendar/{viewsets.py => views.py} (100%) create mode 100644 backend/api/v1/serializers.py diff --git a/backend/api.zip b/backend/api.zip new file mode 100644 index 0000000000000000000000000000000000000000..98db1c9ea9cd0a949c9c3fcd3bc482eeb5e945b3 GIT binary patch literal 142007 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 tuple[str, str]: - """Определяем расширение и MIME через Pillow.""" - try: - im = Image.open(BytesIO(content)) - fmt = (im.format or "").upper() - ext_map = { - "JPEG": "jpg", - "JPG": "jpg", - "PNG": "png", - "WEBP": "webp", - "GIF": "gif", - "BMP": "bmp", - "TIFF": "tiff", - "ICO": "ico", - } - ext = ext_map.get(fmt, self.default_ext) - mime = Image.MIME.get(fmt, "image/jpeg") - return ext, mime - except Exception: - return self.default_ext, "image/jpeg" - - def to_internal_value(self, data): - # Принимаем None/пустое - if data in (None, "", b""): - return super().to_internal_value(data) - - if isinstance(data, str): - # Срезаем префикс data:image/...;base64, если есть - if data.startswith("data:image"): - try: - _, data = data.split(";base64,", 1) - except ValueError: - raise serializers.ValidationError("Некорректный формат data URI.") - try: - decoded = base64.b64decode(data) - except (TypeError, ValueError, binascii.Error): - raise serializers.ValidationError("Невалидный base64.") - - ext, _ = self._detect_ext_mime(decoded) - file = ContentFile(decoded, name=f"upload.{ext}") - return super().to_internal_value(file) - - return super().to_internal_value(data) - - def to_representation(self, value): - if not value: - return "" - # Получаем байты - try: - file_obj = getattr(value, "file", None) or value - content = file_obj.read() - if hasattr(file_obj, "seek"): - file_obj.seek(0) - except Exception: - try: - with open(value.path, "rb") as f: - content = f.read() - except Exception: - return "" - - b64 = base64.b64encode(content).decode("ascii") - _, mime = self._detect_ext_mime(content) - return f"data:{mime};base64,{b64}" - - class EmailSerializer(serializers.Serializer): email = serializers.EmailField() @@ -701,3 +622,9 @@ class RemoveMemberInput(serializers.Serializer): ) attrs["employee_id"] = emp return attrs + + +class DepartmentBriefSerializer(serializers.ModelSerializer): + class Meta: + model = Department + fields = ("id", "name") \ No newline at end of file diff --git a/backend/api/v1/employees/views.py b/backend/api/v1/employees/views.py index a68ea6b4..2c668587 100644 --- a/backend/api/v1/employees/views.py +++ b/backend/api/v1/employees/views.py @@ -38,7 +38,7 @@ from employees.models import ( Skill, ) from phonenumbers import PhoneNumberFormat -from rest_framework import filters, status, viewsets +from rest_framework import filters, generics, permissions, status, viewsets from rest_framework.decorators import action from rest_framework.permissions import ( AllowAny, @@ -48,6 +48,7 @@ from rest_framework.permissions import ( ) from rest_framework.response import Response from rest_framework.views import APIView +from rest_framework_simplejwt.authentication import JWTAuthentication from ..permissions import ( ASSIGN_ROLE_PERM, @@ -60,6 +61,7 @@ from ..permissions import ( ) from .serializers import ( AddMemberInput, + DepartmentBriefSerializer, DepartmentRoleSerializer, DepartmentSerializer, EmailSerializer, @@ -927,6 +929,39 @@ class DepartmentViewSet(viewsets.ModelViewSet): status=status.HTTP_200_OK, ) + @action(detail=False, methods=["get"], url_path="my-departments") + def my_departments(self, request) -> Response: + """Вернёт список отделов, доступных текущему пользователю. + + Логика: + Только отделы, где пользователь является руководителем + или имеет активную связь в ``EmployeeDepartment`` (is_active=True). + + Args: + request: Текущий HTTP-запрос DRF. + + Returns: + Response: JSON-массив отделов в формате ``DepartmentSerializer`` (many=True), + отсортированный по названию и id. + + Raises: + NotAuthenticated: Если пользователь не авторизован (обрабатывается классом + разрешений в ``get_permissions``). + """ + user = request.user + qs = self.get_queryset() + + active_link_exists = EmployeeDepartment.objects.filter( + department_id=OuterRef("pk"), + employee_id=user.id, + is_active=True, + ) + user_qs = qs.filter(Q(head_id=user.id) | Exists(active_link_exists)).distinct() + + user_qs = user_qs.order_by("name", "id") + data = DepartmentBriefSerializer(user_qs, many=True).data + return Response(data) + class EmployeeViewSet(viewsets.ModelViewSet): """ diff --git a/backend/api/v1/feed/serializers.py b/backend/api/v1/feed/serializers.py index 9416997c..87bb3a7b 100644 --- a/backend/api/v1/feed/serializers.py +++ b/backend/api/v1/feed/serializers.py @@ -1,22 +1,25 @@ # backend/api/v1/feed/serializers.py from __future__ import annotations +from typing import Any, Dict, Optional + from django.contrib.auth import get_user_model from rest_framework import serializers from feed.constants import TYPE_COMPANY, TYPE_DEPARTMENT, TYPE_EMPLOYEE from feed.models import Comment, Post, PostLike +from ..serializers import Base64ImageField Employee = get_user_model() class AuthorMiniSerializer(serializers.ModelSerializer): full_name = serializers.SerializerMethodField() - avatar_url = serializers.SerializerMethodField() + avatar = Base64ImageField(read_only=True) class Meta: model = Employee - fields = ["id", "first_name", "last_name", "full_name", "avatar_url"] + fields = ["id", "first_name", "last_name", "full_name", "avatar"] def get_full_name(self, obj): fn = (obj.first_name or "").strip() @@ -24,19 +27,6 @@ class AuthorMiniSerializer(serializers.ModelSerializer): nm = f"{fn} {ln}".strip() return nm - def get_avatar_url(self, obj): - # пробуем несколько распространённых имён поля/метода - try: - for attr in ("avatar", "photo", "image"): - f = getattr(obj, attr, None) - if f and getattr(f, "url", None): - return f.url - if hasattr(obj, "get_avatar_url"): - return obj.get_avatar_url() - except Exception: - pass - return None - class CommentMiniSerializer(serializers.ModelSerializer): author = AuthorMiniSerializer(read_only=True) @@ -70,8 +60,8 @@ class PostListSerializer(serializers.ModelSerializer): fields = [ "id", "type", - "department", # write/read PK - "department_id", # read-only alias + "department", + "department_id", "title", "body", "image", diff --git a/backend/api/v1/serializers.py b/backend/api/v1/serializers.py new file mode 100644 index 00000000..d31b81a1 --- /dev/null +++ b/backend/api/v1/serializers.py @@ -0,0 +1,82 @@ +import base64 +import binascii +from io import BytesIO + +from django.core.files.base import ContentFile +from PIL import Image +from rest_framework import serializers + + +class Base64ImageField(serializers.ImageField): + """ + Двухстороннее поле: + - input: принимает строку base64 или data URI (data:image/...;base64,xxxx) + - output: возвращает data URI (data:image/...;base64,xxxx) + Совместимо с Python 3.13 (без imghdr). + """ + + default_ext = "jpg" + + def _detect_ext_mime(self, content: bytes) -> tuple[str, str]: + """Определяем расширение и MIME через Pillow.""" + try: + im = Image.open(BytesIO(content)) + fmt = (im.format or "").upper() + ext_map = { + "JPEG": "jpg", + "JPG": "jpg", + "PNG": "png", + "WEBP": "webp", + "GIF": "gif", + "BMP": "bmp", + "TIFF": "tiff", + "ICO": "ico", + } + ext = ext_map.get(fmt, self.default_ext) + mime = Image.MIME.get(fmt, "image/jpeg") + return ext, mime + except Exception: + return self.default_ext, "image/jpeg" + + def to_internal_value(self, data): + # Принимаем None/пустое + if data in (None, "", b""): + return super().to_internal_value(data) + + if isinstance(data, str): + # Срезаем префикс data:image/...;base64, если есть + if data.startswith("data:image"): + try: + _, data = data.split(";base64,", 1) + except ValueError: + raise serializers.ValidationError("Некорректный формат data URI.") + try: + decoded = base64.b64decode(data) + except (TypeError, ValueError, binascii.Error): + raise serializers.ValidationError("Невалидный base64.") + + ext, _ = self._detect_ext_mime(decoded) + file = ContentFile(decoded, name=f"upload.{ext}") + return super().to_internal_value(file) + + return super().to_internal_value(data) + + def to_representation(self, value): + if not value: + return "" + # Получаем байты + try: + file_obj = getattr(value, "file", None) or value + content = file_obj.read() + if hasattr(file_obj, "seek"): + file_obj.seek(0) + except Exception: + try: + with open(value.path, "rb") as f: + content = f.read() + except Exception: + return "" + + b64 = base64.b64encode(content).decode("ascii") + _, mime = self._detect_ext_mime(content) + return f"data:{mime};base64,{b64}" diff --git a/backend/api/v1/urls.py b/backend/api/v1/urls.py index 9c1ccf51..1e11a954 100644 --- a/backend/api/v1/urls.py +++ b/backend/api/v1/urls.py @@ -1,18 +1,20 @@ from django.urls import include, path from rest_framework.routers import DefaultRouter -from .calendar.viewsets import CompanyEventsViewSet, DepartmentEventsViewSet +from .calendar.views import CompanyEventsViewSet, DepartmentEventsViewSet from .employees.views import (DepartmentRoleViewSet, DepartmentViewSet, EmployeeActionViewSet, EmployeeViewSet, - PositionViewSet, RegisterAPIView, - ResendEmailAPIView, SkillViewSet, - VerifyEmailAPIView, GroupViewSet) + GroupViewSet, PositionViewSet, + RegisterAPIView, ResendEmailAPIView, + SkillViewSet, VerifyEmailAPIView) from .feed.views import CommentViewSet, PostViewSet app_name = "v1" router = DefaultRouter() -router.register(r"calendar/company-events", CompanyEventsViewSet, basename="company-events") +router.register( + r"calendar/company-events", CompanyEventsViewSet, basename="company-events" +) router.register(r"departments", DepartmentViewSet, basename="departments") router.register(r"employees", EmployeeViewSet, basename="employees") router.register(r"employee-actions", EmployeeActionViewSet, basename="employee-actions") @@ -27,6 +29,10 @@ urlpatterns = [ path("auth/register/", RegisterAPIView.as_view(), name="register"), path("auth/resend-email/", ResendEmailAPIView.as_view(), name="resend-email"), path("auth/verify-email/", VerifyEmailAPIView.as_view(), name="verify-email"), - path("calendar/departments//events/", DepartmentEventsViewSet.as_view({"get": "list"}), name="department-events",), + path( + "calendar/departments//events/", + DepartmentEventsViewSet.as_view({"get": "list"}), + name="department-events", + ), path("", include(router.urls)), ] diff --git a/backend/employees/views_front.py b/backend/employees/views_front.py index 8a92e6aa..022bd788 100644 --- a/backend/employees/views_front.py +++ b/backend/employees/views_front.py @@ -79,6 +79,32 @@ def _fetch_employee_posts(api, employee_id: int): return _extract_results(data) +def _fetch_department_posts(api, department_id: int) -> list[dict]: + """Возвращает публикации отдела (type=department), отсортированные по пину и дате. + + Args: + api: Инициализированный API-клиент (get_api_client(request)). + department_id (int): ID отдела. + + Returns: + list[dict]: Список публикаций для шаблона. + + Raises: + RuntimeError: Если ответ API не JSON (редко, мы перехватываем безопасно). + ValueError: Если department_id некорректный (не int). + """ + # Пробуем явный фильтр по типу и отделу; fallback — только department + for url in ( + f"v1/posts/?type=department&department={int(department_id)}&ordering=-pinned,-created_at", + f"v1/posts/?department={int(department_id)}&ordering=-pinned,-created_at", + ): + r = api.get(url) + if r.ok: + data = r.json or [] + return _extract_results(data) + return [] + + def _json_body(request: HttpRequest) -> Dict[str, Any]: """Безопасно парсим JSON; если не JSON — возвращаем пустой dict.""" try: @@ -106,7 +132,6 @@ def _api_ok_or_error(resp) -> Tuple[bool, Dict[str, Any], int]: return resp.ok, data, getattr(resp, "status", 500) - # ========================= # Сотрудники # ========================= @@ -536,6 +561,7 @@ def department_detail(request, pk: int): "can_manage": bool(perms.get("can_manage")), "can_change_head": bool(perms.get("can_change_head")), "can_assign_roles": bool(perms.get("can_assign_roles")), + "posts": _fetch_department_posts(api, pk) } ) return render(request, "employees/department_detail.html", ctx) diff --git a/backend/templates/base.html b/backend/templates/base.html index a7cfc7c0..8d60d516 100644 --- a/backend/templates/base.html +++ b/backend/templates/base.html @@ -1,4 +1,4 @@ -{% load static %} +{% load static api_tags %} @@ -7,6 +7,10 @@ + {% if user.is_authenticated %} + + {% endif %} + {% block title %}EUSRR{% endblock %} @@ -19,8 +23,8 @@ + /* Акцентированный фокус для клавиатуры */ + .btn-icon:focus-visible{ + outline: 2px solid color-mix(in srgb, currentColor 60%, transparent); + outline-offset: 2px; + } + .container-xxl { max-width: 1820px; padding-inline: var(--bs-gutter-x,.75rem); } + {% block extra_css %}{% endblock %} @@ -446,18 +454,20 @@ {% include "includes/navbar.html" %} -
- {% if user.is_authenticated %} - {% include "includes/sidebar.html" %} - {% endif %} +
+
+ {% if user.is_authenticated %} + {% include "includes/sidebar.html" %} + {% endif %} -
- {% block content %}{% endblock %} -
+
+ {% block content %}{% endblock %} +
- {% if user.is_authenticated %} - {% include "includes/rightbar_calendar.html" %} - {% endif %} + {% if user.is_authenticated %} + {% include "includes/rightbar_calendar.html" %} + {% endif %} +
diff --git a/backend/templates/communications/chat_detail.html b/backend/templates/communications/chat_detail.html index f1663fa7..5ad8f8f9 100644 --- a/backend/templates/communications/chat_detail.html +++ b/backend/templates/communications/chat_detail.html @@ -8,21 +8,12 @@ main.main{ padding-bottom:0 !important; } /* ===== Контейнер страницы чата ===== */ - .chat-root{ - --chat-top-gap: 20px; - --chat-bottom-gap: 48px; - height: calc(100dvh - var(--navbar-h)); - padding: var(--chat-top-gap) 0 calc(var(--chat-bottom-gap) + env(safe-area-inset-bottom)); - box-sizing: border-box; - overflow: hidden; - display: flex; flex-direction: column; - background: var(--bs-body-bg); - } + @supports(height: 100svh){ .chat-root{ height: calc(100svh - var(--navbar-h)); } } .chat-root > .row{ height:100%; min-height:0; } - .chat-col{ display:flex; flex-direction:column; height:100%; min-height:0; } + .chat-col{ display:flex; flex-direction:column; height:93%; min-height:0; } .feed-header{ flex:0 0 auto; } /* ===== Карточка чата ===== */ @@ -129,8 +120,8 @@ {% block content %}
-
-
+
+
diff --git a/backend/templates/communications/chat_list.html b/backend/templates/communications/chat_list.html index 3e80fe66..f646450c 100644 --- a/backend/templates/communications/chat_list.html +++ b/backend/templates/communications/chat_list.html @@ -40,8 +40,8 @@ {% block content %}
-
-
+
+
{# Заголовок + ПОИСК (iOS-стиль) #}
diff --git a/backend/templates/employees/department_detail.html b/backend/templates/employees/department_detail.html index 8b04d2fb..64be2a33 100644 --- a/backend/templates/employees/department_detail.html +++ b/backend/templates/employees/department_detail.html @@ -224,9 +224,9 @@
Публикации отдела
-
+
{% if posts %} - {% include "feed/_feed_cards.html" with items=posts only %} + {% include "feed/_feed_cards.html" with items=posts %} {% else %}
Публикаций пока нет.
{% endif %} diff --git a/backend/templates/employees/department_list.html b/backend/templates/employees/department_list.html index ac0d50b2..9e70a3fe 100644 --- a/backend/templates/employees/department_list.html +++ b/backend/templates/employees/department_list.html @@ -23,8 +23,8 @@ {% block content %}
-
-
+
+
diff --git a/backend/templates/employees/employee_detail.html b/backend/templates/employees/employee_detail.html index 21860c12..fb0a0a37 100644 --- a/backend/templates/employees/employee_detail.html +++ b/backend/templates/employees/employee_detail.html @@ -406,16 +406,21 @@
{% endif %} -
-
-
Активность
+
+
+ +
+
Активность
+
+
+
{% if posts %} -
- {% include "feed/_feed_cards.html" with items=posts only %} -
+ {% include "feed/_feed_cards.html" with items=posts %} + {% else %} +
Публикаций пока нет.
{% endif %}
-
+
diff --git a/backend/templates/employees/employees_list.html b/backend/templates/employees/employees_list.html index 0b613eb8..259fe1ec 100644 --- a/backend/templates/employees/employees_list.html +++ b/backend/templates/employees/employees_list.html @@ -109,8 +109,8 @@ {% block content %}
-
-
+
+
diff --git a/backend/templates/feed/_feed_cards.html b/backend/templates/feed/_feed_cards.html index 8e73eec6..fdbe066a 100644 --- a/backend/templates/feed/_feed_cards.html +++ b/backend/templates/feed/_feed_cards.html @@ -1,13 +1,13 @@ {% for post in items %} {% firstof post.id post.pk as post_id %} -
+
- + {# --- Аватар автора --- #}
{% with a=post.author %} {% if a %} - {% firstof a.avatar.url a.avatar_url as ava_url %} + {% firstof a.avatar as ava_url %} {% if ava_url %} {% else %} @@ -20,6 +20,7 @@
{# --- Метаданные (имя автора, дата, отдел) --- #} +
{% with a=post.author %} @@ -46,7 +47,7 @@ {% endif %} {% endwith %}
- +
{% if post.created_at %} {{ post.created_at_display }} @@ -63,8 +64,16 @@ {% endif %}
- -
+ {% if post.image %} + {% firstof post.image.url post.image as img_url %} + {% if img_url %} +
+ {% if post_id %}{% endif %} + {{ post.title|default:'Публикация' }} +
+ {% endif %} + {% endif %} + + +
{% else %}
{{ body|linebreaksbr }} @@ -106,23 +125,11 @@ {% endif %} {% endwith %}
- - - {% if post.image %} - {% firstof post.image.url post.image as img_url %} - {% if img_url %} -
- {% if post_id %}{% endif %} - {{ post.title|default:'Публикация' }} -
- {% endif %} - {% endif %} - -
+
+ +
+ События + +
+
@@ -180,12 +163,8 @@ -
+
Календарь
@@ -201,24 +180,84 @@
+{# Модал создания события #} + + \ No newline at end of file + diff --git a/backend/templates/includes/sidebar.html b/backend/templates/includes/sidebar.html index 6203d0cd..9c273f39 100644 --- a/backend/templates/includes/sidebar.html +++ b/backend/templates/includes/sidebar.html @@ -107,7 +107,7 @@
-