From 3c50f3e0294134911b37045482623ef692676445 Mon Sep 17 00:00:00 2001 From: Ahtisham Shahid Date: Fri, 27 Oct 2023 15:14:31 +0500 Subject: [PATCH] fix: update CourseOverviewTab while changing discussions settings (#33605) --- openedx/core/djangoapps/discussions/serializers.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/openedx/core/djangoapps/discussions/serializers.py b/openedx/core/djangoapps/discussions/serializers.py index eff12d92026f..46778320c91d 100644 --- a/openedx/core/djangoapps/discussions/serializers.py +++ b/openedx/core/djangoapps/discussions/serializers.py @@ -13,6 +13,7 @@ from openedx.core.lib.courses import get_course_by_id from .models import DiscussionsConfiguration, Provider from .utils import available_division_schemes, get_divided_discussions +from ..content.course_overviews.models import CourseOverviewTab class LtiSerializer(serializers.ModelSerializer): @@ -259,6 +260,12 @@ def update(self, instance: DiscussionsConfiguration, validated_data: dict) -> Di # have already been set instance = self._update_lti(instance, validated_data) instance.save() + # find the discussion tab and update its visibility as per discussions configurations + # It can go out of sync due to unknown reasons + CourseOverviewTab.objects.filter( + course_overview_id=instance.context_key, + type='discussion' + ).update(is_hidden=not instance.enabled) update_discussions_settings_from_course_task.delay(str(instance.context_key)) return instance