From 0627da80f6ee93293fa2263507e2ce89ca24dfde Mon Sep 17 00:00:00 2001 From: lizerk Date: Thu, 3 Sep 2026 14:37:47 +0300 Subject: [PATCH] Fix column reorder with overlapping board access --- backend/api/v1/tasks/viewsets/structure.py | 2 +- backend/tests/api/v1/tasks/test_tasks_api.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/backend/api/v1/tasks/viewsets/structure.py b/backend/api/v1/tasks/viewsets/structure.py index 4745a4c1..2af206dd 100644 --- a/backend/api/v1/tasks/viewsets/structure.py +++ b/backend/api/v1/tasks/viewsets/structure.py @@ -176,7 +176,7 @@ class TaskColumnViewSet(viewsets.ModelViewSet): TaskBoard.objects.filter( task_board_access_q(request.user), is_archived=False, - ), + ).distinct(), pk=board_id, ) diff --git a/backend/tests/api/v1/tasks/test_tasks_api.py b/backend/tests/api/v1/tasks/test_tasks_api.py index 9fc1dd77..601f4aca 100644 --- a/backend/tests/api/v1/tasks/test_tasks_api.py +++ b/backend/tests/api/v1/tasks/test_tasks_api.py @@ -1427,8 +1427,21 @@ def test_opening_board_marks_only_its_notifications_as_read( def test_board_member_reorders_columns_for_everyone(api_client, user): other_user = make_user("task-column-order@example.com", "+79994440093") + first_department = Department.objects.create(name="Первый отдел порядка") + second_department = Department.objects.create(name="Второй отдел порядка") + EmployeeDepartment.objects.create( + employee=other_user, + department=first_department, + is_active=True, + ) + EmployeeDepartment.objects.create( + employee=other_user, + department=second_department, + is_active=True, + ) board = TaskBoard.objects.create(name="Общий порядок", created_by=user) board.members.add(user, other_user) + board.departments.add(first_department, second_department) first = TaskColumn.objects.create( board=board, name="Первая",