AURORA-1888: исполнитель видит только свои этапы, 404 вместо 500 на чужую форму/проект #261

Open
aep wants to merge 1 commits from feat/250-aurora-1888-stages-role-filter into test

1 Commits

Author SHA1 Message Date
Andrey Epifancev
c1c0d73387 fix(stages): исполнитель видит только свои этапы, 404 вместо 500 на чужую форму/проект
- FormPhaseRepository.get_list и Form3PhaseRepository.get_list: новый
  необязательный параметр role для фильтрации по v3.role.code.
- FormPhaseService.get_list и Form3PhaseService.get_list: для не-админа
  передают в репозиторий role по коду роли пользователя (единая функция
  role_code_for_user в form_phase_service.py), для ADMIN фильтр не нужен.
- GET /stages/form/{form_id} и GET /stages/project/{project_id}: сначала
  проверяют доступ к форме/проекту (BudgetFormService.get /
  ProjectService.get_instance), при отсутствии доступа — 404 вместо
  AttributeError → 500.
- StagesTable.jsx: подпись роли этапа показывается только админу.

Closes #250.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-31 00:04:21 +04:00