lizerk f56e256a2a feat(communications): Phase 2 - Update views, signals, rules for GenericFK
BREAKING CHANGES (backward compatible):
- All code updated to support both old and new fields
- context_object (GenericFK) and flags now primary
- department and is_main still work (DEPRECATED)

FILES UPDATED:

1. signals.py:
   - create_main_department_chat() uses context_object + flags
   - Creates both old and new fields for compatibility
   - Checks existence using Q() for both fields

2. views.py (4 critical updates):
   - has_user_access_to_chat(): uses get_participants() (supports both)
   - ChatListView.get_queryset(): checks department OR context_object
   - ChatDetailView.get_queryset(): checks department OR context_object
   - mark_as_read_ajax(): uses get_participants() and include_all_users

3. rules.py:
   - is_department_chat(): checks both department and context_object
   - Supports GenericFK for Department context

4. apps.py:
   - create_main_global_chat(): checks and sets flags['is_primary']
   - Backward compatible with is_main

5. admin.py:
   - get_readonly_fields(): checks flags['is_primary'] OR is_main
   - Prevents editing primary chats

6. notifications/config.py:
   - get_chat_display_name(): uses context_object OR department

7. models.py:
   - Chat.__str__(): uses context_object OR department

TESTED:
✅ Signal creates chat with context_object + flags
✅ get_participants() works with both fields
✅ __str__ displays correctly
✅ is_department_chat rule works
✅ Backward compatibility preserved
2026-03-11 14:30:23 +03:00

Документация проекта EUSRR

Эта папка содержит всю документацию проекта, организованную по категориям.

📁 Структура

completed/

Завершенные задачи: рефакторинги, исправления, реализованные фичи (22 файла)

guides/

Активные руководства и инструкции для разработчиков (гайды по валидации, миграции, настройке)

architecture/

Архитектурная документация и анализ систем (рендеринг чата, архитектура страниц)

diagnostic/

Диагностические руководства (WebSocket 1006, отладка проблем)

in-progress/

Активные задачи в разработке (закупки, получатели заявок, календарь)

reports/

Отчеты и аудиты проекта (реорганизация документации, план очистки)

📝 Главная документация

  • README.md - основная документация проекта
  • docs/reports/ - отчеты и планы по проекту

🔍 Поиск информации

  • Завершенные фичи → completed/
  • Как настроить X → guides/
  • Как работает Y → architecture/
  • Проблемы с Z → diagnostic/
  • Что в разработке → in-progress/
  • Отчеты и аудиты → reports/
Description
Разработка — в develop; локальный CI работает через Git hooks и quality gates перед коммитом/пушем. После проверки — слияние в master. Push в master запускает blue-green деплой на CORP через Gitea Actions и Telegram-отчёт. Статус деплоя — «Действия».
https://corp.robotail.pro/ Readme 86 MiB
Languages
Python 47.6%
TypeScript 29.8%
JavaScript 15.7%
HTML 4.1%
SCSS 2.1%
Other 0.7%