fix: Run course discussion settings update task when settings change (#30520)

When discussion settings change in a course, call the discussion settings update task so that topics are updated automatically.
This commit is contained in:
Kshitij Sobti
2022-06-02 11:34:11 +05:30
committed by GitHub
parent ad8724f91f
commit a63d023fb6

View File

@@ -5,11 +5,12 @@ from django.core.exceptions import ValidationError
from lti_consumer.api import get_lti_pii_sharing_state_for_course
from lti_consumer.models import LtiConfiguration
from rest_framework import serializers
from xmodule.modulestore.django import modulestore
from lms.djangoapps.discussion.toggles import ENABLE_REPORTED_CONTENT_EMAIL_NOTIFICATIONS
from openedx.core.djangoapps.discussions.tasks import update_discussions_settings_from_course_task
from openedx.core.djangoapps.django_comment_common.models import CourseDiscussionSettings
from openedx.core.lib.courses import get_course_by_id
from xmodule.modulestore.django import modulestore # lint-amnesty, pylint: disable=wrong-import-order
from .models import DiscussionsConfiguration, Provider
from .utils import available_division_schemes, get_divided_discussions
@@ -257,6 +258,7 @@ class DiscussionsConfigurationSerializer(serializers.ModelSerializer):
# have already been set
instance = self._update_lti(instance, validated_data)
instance.save()
update_discussions_settings_from_course_task.delay(str(instance.context_key))
return instance
def _update_lti(