Commit Graph

3 Commits

Author SHA1 Message Date
lokses 87cb9de005 i18n: перевод модуля задач (tasks/task-detail/task-edit) ru/uk/en
- Task.STATUS_CHOICES/PRIORITY_CHOICES переведены на русские msgid
  (консистентно с ru-базой); миграция choices
- task_detail_view: метки ролей через gettext
- Шаблоны tasks/task-detail/task-edit размечены {% trans %}; статусы,
  приоритеты, чек-лист, комментарии, участники, кнопки действий — uk/en

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-25 14:55: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 c3f56f8a3e Portal redesign from template, real-data pages, test suite, Celery config
- templates: new shell from ACORE-template (mobile sidebar + bottom nav,
  themes, wallpaper, user dropdown), Django-ized nav with push-url;
  login rebranding; ACORE-template/ gitignored
- new pages wired to real data: databases (Directory types/counts),
  it-support (Ticket create form + my tickets), dashboard (live counters),
  structure (departments with head heuristic + pharmacy staffing status);
  static mockups for news/tasks/email/chat/purchases/hr-portal/help
- tests: 57 tests — ad_connector (ldap3 MOCK_SYNC client, sync scenarios,
  signals, mapping page), mattermost_connector (sync on mocks, bare-except
  regression), core (pages smoke, tickets, directories, tree rebuild)
- celery: add missing acore/celery.py app + CELERY_* settings (broker from
  env, eager mode without broker locally); wrap signal .delay calls so an
  unreachable broker no longer breaks employee saves

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:41:46 +03:00