Verified Commit e2ee91f9 authored by Richard Glosner's avatar Richard Glosner
Browse files

add exercises broadcast to unassignment of users from team or exercise

parent d9eb9810
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -172,6 +172,10 @@ class AssignUsersManager:

    @staticmethod
    def remove_from_team(user_ids: List[str], team_id: int) -> None:
        team = ensure_exists(
            Team.objects.select_related("exercise").filter(id=team_id)
        )

        ensure_all_exist(
            ExerciseAccess.objects.filter(
                user_id__in=user_ids,
@@ -182,6 +186,11 @@ class AssignUsersManager:
            "user_id",
        ).delete()

        SubscriptionHandler.broadcast_exercises(
            team.exercise,
            EventType.modify(),
        )

    @staticmethod
    def assign_instructors_to_exercise(
        user_ids: List[str], exercise_id: int
@@ -226,6 +235,7 @@ class AssignUsersManager:
        user_ids: List[str], exercise_id: int, user: User
    ) -> None:
        # qs is not evaluated here
        exercise = ensure_exists(Exercise.objects.filter(id=exercise_id))
        exercise_instructors = ExerciseAccess.objects.filter(
            exercise_id=exercise_id, group=User.AuthGroup.INSTRUCTOR
        )
@@ -251,6 +261,11 @@ class AssignUsersManager:
            "user_id",
        ).delete()

        SubscriptionHandler.broadcast_exercises(
            exercise,
            EventType.modify(),
        )

    @staticmethod
    def assign_to_definition(
        user_ids: List[str], definition_id: int