Commit Graph

29 Commits

Author SHA1 Message Date
lokses 03019898b0 reports: КЕП-подпись PDF отчётов; задачи: загрузка вложений.
Добавлена офлайн/EndUser-подпись «ознакомлен и принял в работу» для документов отчётов и файловые вложения к задачам через Nextcloud.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 21:13:28 +03:00
lokses c120a1673b documents: в «Дополнительно доступно» открывать файл сразу, без browse.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 18:16:17 +03:00
lokses dd21bea141 documents: edit у автора и руководителя отдела; коллегам — view.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 18:10:59 +03:00
lokses 0424e0273e documents: вкладка «Мой отдел» и drag-and-drop загрузка в список.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 18:02:04 +03:00
lokses a25e98413c documents: предпросмотр PDF/JPEG во всплывающем окне.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 17:43:10 +03:00
lokses 2a1cb7d5c2 documents: view/edit для аптек в OnlyOffice и просмотр PDF/изображений.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 17:36:42 +03:00
lokses 5800f79eec documents: иерархия отделов и ACL на папки/файлы с people-picker.
В /documents/ добавлено дерево департаментов, права view/edit через DocumentAccessGrant и выдача доступа сотрудникам/отделам/группам.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-06 17:21:01 +03:00
lokses ad8730c752 i18n: локализация multi-mailbox UI и полей UserMailbox (uk/en)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 18:09:56 +03:00
lokses 9c8d0d109a mail: несколько ящиков с переключателем; дислокация без скоупа локаций
Сотрудник может подключить несколько IMAP-ящиков и переключаться между ними.
Дислокация снова показывает всю сеть, а не только назначенные аптеки.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 15:56:13 +03:00
lokses a2fe4a49e3 mail + portal: самоподключение почты, веб-клиент и глобальный поиск
Сотрудник сам подключает ящик (autoconfig, вложения, пагинация списка, надёжный IMAP-поиск); в хедере работает /api/search по разделам и сущностям с ACL. Также устойчивость Mattermost-токена для чата.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 12:22:53 +03:00
lokses 598d26c52c Show employee login only to self and portal admins.
Managers and HR keep contact PII but no longer see usernames.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 15:25:02 +03:00
lokses bf5310e489 Hide peer logins on profiles and restrict view_all to published reports.
Login stays visible only to self/manager/HR; draft report docs stay department-head only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 15:20:49 +03:00
lokses 166a0bea71 Email client fix 2026-09-11 14:23:07 +03:00
lokses b19dc8b129 Измение дизайна документов 2026-09-11 13:51:39 +03:00
lokses 999cc0f5c5 nextcloud/onlyoffice: доработка редактора и браузера документов
- правки onlyoffice.py/views.py/webdav_service.py под callback/контент и ключи;
- blank_office перенесён в nextcloud_connector (генерация пустых Word/Excel);
- documents.js + обновление шаблонов браузера/редактора/карточки документов;
- тесты коннектора расширены.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-11 13:06:34 +03:00
lokses f41fefbaa7 nextcloud/onlyoffice: тип коннектора и UI редактора
- ConnectorConfig(onlyoffice) + миграция, подсказка по extra_config в админке.
- /documents/onlyoffice/ в whitelist 2FA — Document Server забирает файл
  без сессии портала (доступ по подписанному file-token + JWT DS).
- Страница редактора и кнопки «открыть в OnlyOffice» в браузере документов.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-10 13:17:41 +03:00
lokses 5c3c27e0af help + ad_connector + feed: база знаний и правки тестов
Раздел «Справка» (категории/статьи/предложка), правки ad_connector
и обновление тестов feed под обязательную 2FA.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-09 18:03:55 +03:00
lokses 0a9fcce0cd mail_connector: IMAP/SMTP-клиент и почтовая аутентификация
Клиенты IMAP/SMTP, авторизация по почте, настройки и login-хуки,
страница почты.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-09 18:03:55 +03:00
lokses 0da9c13192 it_manager+reports: иерархия договоров, биллинг и месячные отчёты
Иерархия рамочных/дочерних договоров и платежей, интернет-биллинг,
месячные IT-отчёты (импорт, DOCX/PDF, шаблоны выводов).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-09 18:03:44 +03:00
lokses 897ffc99c9 locations: право редактирования аптеки, формы и дислокация
Отдельное право на редактирование карточки аптеки, формы, пресеты колонок
дислокации и правки видимости карточки.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-09 18:03:32 +03:00
lokses ac0418083b hiring: вакансии и найм, HR-портал
Модель вакансий, флоу рекрутинга и панели HR-портала (заявки/вакансии).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-09 18:03:32 +03:00
lokses 3359a8db13 employees: HR-заявки, приглашения на пароль, профиль и 2FA
Модель/сервисы HR-заявок с заменами, приглашения на установку пароля
(инвайты), обновлённая страница профиля сотрудника и правки 2FA.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-09 18:03:32 +03:00
lokses ae5c1f1848 Add RRO, portal section perms, dislocation presets, and hiring intern flow.
Ship cash-register registry, section-based portal access, configurable dislocation columns, and trial-hire intern accounts with credentials PDF.
2026-08-09 14:58:17 +03:00
lokses ed7dcaae3b Nextcloud connector: страница «Документы» подключена к хранилищу
Заменяет статичный макет documents.html реальным браузером Group Folders:
- access.py: accessible_sections (разделы по правам: Компания/Обучение/Обмен,
  отдел сотрудника, Кадровые дела для суперюзера) + safe_relpath (посегментная
  валидация подпути от path traversal); раздел резолвится только из whitelist
- views: documents_browse/download/upload с проверкой раздела и пути на каждом
  эндпоинте, запись — только в writable-разделы
- documents.html: вкладки разделов + ленивый HTMX-браузер с хлебными крошками,
  навигацией по папкам, скачиванием и загрузкой
- documents_view отдаёт доступные разделы; тесты разделов, путей и авторизации

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-28 15:02:30 +03:00
lokses b6ad270971 Nextcloud connector: виджет «Документы» аптеки (Фаза 3)
- WebDAV-клиент (PROPFIND/GET/PUT/DELETE) под сервисным аккаунтом
- access.py: can_access_pharmacy_docs (аптека видит только свою) + safe_filename
  (защита от path traversal); путь папки выводится только из объекта аптеки
- Вьюхи documents/download/upload/delete с проверкой доступа на каждом эндпоинте
- Вкладка «Документы» на pharmacy-detail с ленивой HTMX-загрузкой
- Тесты авторизации: свой/чужой скоуп, 403, traversal, аноним

Аптечные сотрудники учёток Nextcloud не имеют — доступ идёт через портал под
сервисным аккаунтом, вся авторизация на стороне ACORE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-28 11:22:19 +03:00
lokses 5e4528b23f Портал: страницы на реальных данных, детальные страницы, утилиты
- core/views: dashboard/databases/it-support/structure на живых данных;
  детальная сотрудника (/employees/<pk>/) с PII-гейтингом (staff/сам/
  руководитель), детальная аптеки, дислокация, профиль, показания счётчиков
- core/utils: crypto (Fernet-обёртка), pagination; партиалы пагинации и
  AD-вкладок
- шаблоны страниц обновлены под реальные контексты
- тесты (21): смоук всех страниц, PII-доступ сотрудника, дерево справочников

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 17:33:48 +03:00
lokses f342d67f97 Модуль задач (tasks): роли Bitrix-стиля, дерево-пикер людей
- Task: ответственный/соисполнители/наблюдатели (M2M), статусы, приоритет,
  дедлайн. Видимость for_user(), наблюдатели не меняют статус
- Список с табами-статусами (один aggregate вместо 4 count), детальная
  со сменой статуса и комментариями, edit/delete с правами
- Выбор людей — дерево отделов с фото/должностями и поиском (people-picker),
  вместо select multiple; назначение задачи со страницы сотрудника
- ROLE_PREFETCH с select_related('post') против N+1; сигналы

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 17:31:33 +03:00
lokses 35f2091e0b Модуль ленты (feed): посты, комментарии, TinyMCE, санитизация
- Post (категории, важное/закреплено/опубликовано, автор) + PostComment;
  тело — HTML из TinyMCE, санитизация nh3 в save() (XSS), загрузка картинок
  отдельным endpoint с проверкой содержимого (data:-URI вырезаются)
- Лента с полным выводом постов, фильтры, сворачивание длинных;
  детальная страница с комментариями; edit — автор/staff, delete — автор
- Публикация постов в каналы Mattermost (mattermost_targets), сигналы
- Тесты (40): публикация/черновики, права, санитизация, картинки,
  выравнивание, комментарии, лента/дашборд

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 17:31:20 +03:00
lokses 131cb27d16 Initial commit — ACORE pharmacy network management system
Django project: employees, locations, visit_manager, it_manager,
mattermost_connector and stub connectors (ad, mail, portal).
2026-05-31 14:21:47 +03:00