fix: use disabled as default for posting_restrictions (#33159)
This commit is contained in:
@@ -71,7 +71,8 @@ from lms.djangoapps.discussion.rest_api.tests.utils import (
|
||||
)
|
||||
from openedx.core.djangoapps.course_groups.models import CourseUserGroupPartitionGroup
|
||||
from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
|
||||
from openedx.core.djangoapps.discussions.models import DiscussionsConfiguration, DiscussionTopicLink, Provider
|
||||
from openedx.core.djangoapps.discussions.models import DiscussionsConfiguration, DiscussionTopicLink, Provider, \
|
||||
PostingRestriction
|
||||
from openedx.core.djangoapps.discussions.tasks import update_discussions_settings_from_course_task
|
||||
from openedx.core.djangoapps.django_comment_common.models import (
|
||||
FORUM_ROLE_ADMINISTRATOR,
|
||||
@@ -151,6 +152,9 @@ def _set_course_discussion_blackout(course, user_id):
|
||||
datetime.now(UTC) - timedelta(days=3),
|
||||
datetime.now(UTC) + timedelta(days=3)
|
||||
]
|
||||
configuration = DiscussionsConfiguration.get(course.id)
|
||||
configuration.posting_restrictions = PostingRestriction.SCHEDULED
|
||||
configuration.save()
|
||||
modulestore().update_item(course, user_id)
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import unittest
|
||||
from common.djangoapps.student.roles import CourseStaffRole, CourseInstructorRole
|
||||
from lms.djangoapps.discussion.django_comment_client.tests.utils import ForumsEnableMixin
|
||||
from lms.djangoapps.discussion.rest_api.tests.utils import CommentsServiceMockMixin, ThreadMock
|
||||
from openedx.core.djangoapps.discussions.models import PostingRestriction
|
||||
from openedx.core.djangoapps.discussions.models import PostingRestriction, DiscussionsConfiguration
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
@@ -43,6 +43,9 @@ class DiscussionAPIUtilsTestCase(ModuleStoreTestCase):
|
||||
self.course = CourseFactory.create()
|
||||
self.course.discussion_blackouts = [datetime.now(UTC) - timedelta(days=3),
|
||||
datetime.now(UTC) + timedelta(days=3)]
|
||||
configuration = DiscussionsConfiguration.get(self.course.id)
|
||||
configuration.posting_restrictions = PostingRestriction.SCHEDULED
|
||||
configuration.save()
|
||||
self.student_role = RoleFactory(name='Student', course_id=self.course.id)
|
||||
self.moderator_role = RoleFactory(name='Moderator', course_id=self.course.id)
|
||||
self.community_ta_role = RoleFactory(name='Community TA', course_id=self.course.id)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# Generated by Django 3.2.20 on 2023-09-04 10:54
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('discussions', '0017_alter_historicaldiscussionsconfiguration_options'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='discussionsconfiguration',
|
||||
name='posting_restrictions',
|
||||
field=models.CharField(choices=[('enabled', 'Enabled'), ('disabled', 'Disabled'), ('scheduled', 'Scheduled')], default='disabled', help_text='The Posting availability in discussions whether it will be enabled, scheduled or indefinitely disabled.', max_length=15),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='historicaldiscussionsconfiguration',
|
||||
name='posting_restrictions',
|
||||
field=models.CharField(choices=[('enabled', 'Enabled'), ('disabled', 'Disabled'), ('scheduled', 'Scheduled')], default='disabled', help_text='The Posting availability in discussions whether it will be enabled, scheduled or indefinitely disabled.', max_length=15),
|
||||
),
|
||||
]
|
||||
@@ -424,10 +424,10 @@ class DiscussionsConfiguration(TimeStampedModel):
|
||||
)
|
||||
posting_restrictions = models.CharField(
|
||||
max_length=15,
|
||||
default=PostingRestriction.SCHEDULED,
|
||||
default=PostingRestriction.DISABLED,
|
||||
choices=PostingRestriction.choices,
|
||||
help_text=_(
|
||||
"The Posting availabilty in discussions whether it will be enabled, scheduled or indefinitely disabled."
|
||||
"The Posting availability in discussions whether it will be enabled, scheduled or indefinitely disabled."
|
||||
)
|
||||
)
|
||||
lti_configuration = models.ForeignKey(
|
||||
|
||||
@@ -167,7 +167,7 @@ class DiscussionsConfigurationModelTest(TestCase):
|
||||
"""
|
||||
configuration = DiscussionsConfiguration.objects.get(context_key=self.course_key_with_defaults)
|
||||
assert configuration is not None
|
||||
assert configuration.posting_restrictions == PostingRestriction.SCHEDULED
|
||||
assert configuration.posting_restrictions == PostingRestriction.DISABLED
|
||||
assert configuration.enabled # by default
|
||||
assert configuration.lti_configuration is None
|
||||
assert len(configuration.plugin_configuration.keys()) == 0
|
||||
@@ -192,7 +192,7 @@ class DiscussionsConfigurationModelTest(TestCase):
|
||||
Assert we can update an existing record
|
||||
"""
|
||||
configuration = DiscussionsConfiguration.objects.get(context_key=self.course_key_with_defaults)
|
||||
configuration.posting_restrictions = PostingRestriction.SCHEDULED
|
||||
configuration.posting_restrictions = PostingRestriction.DISABLED
|
||||
configuration.enabled = False
|
||||
configuration.plugin_configuration = {
|
||||
'url': 'http://localhost',
|
||||
@@ -201,7 +201,7 @@ class DiscussionsConfigurationModelTest(TestCase):
|
||||
configuration.save()
|
||||
configuration = DiscussionsConfiguration.objects.get(context_key=self.course_key_with_defaults)
|
||||
assert configuration is not None
|
||||
assert configuration.posting_restrictions == PostingRestriction.SCHEDULED
|
||||
assert configuration.posting_restrictions == PostingRestriction.DISABLED
|
||||
assert not configuration.enabled
|
||||
assert configuration.lti_configuration is None
|
||||
assert configuration.plugin_configuration['url'] == 'http://localhost'
|
||||
@@ -240,7 +240,7 @@ class DiscussionsConfigurationModelTest(TestCase):
|
||||
with override_waffle_flag(ENABLE_NEW_STRUCTURE_DISCUSSIONS, active=new_structure_enabled):
|
||||
configuration = DiscussionsConfiguration.get(self.course_key_without_config)
|
||||
assert configuration is not None
|
||||
assert configuration.posting_restrictions == PostingRestriction.SCHEDULED
|
||||
assert configuration.posting_restrictions == PostingRestriction.DISABLED
|
||||
assert configuration.enabled == DEFAULT_CONFIG_ENABLED
|
||||
assert configuration.provider_type == default_provider_type
|
||||
assert not configuration.lti_configuration
|
||||
@@ -252,7 +252,7 @@ class DiscussionsConfigurationModelTest(TestCase):
|
||||
"""
|
||||
configuration = DiscussionsConfiguration.get(self.course_key_with_defaults)
|
||||
assert configuration is not None
|
||||
assert configuration.posting_restrictions == PostingRestriction.SCHEDULED
|
||||
assert configuration.posting_restrictions == PostingRestriction.DISABLED
|
||||
assert configuration.enabled
|
||||
assert not configuration.lti_configuration
|
||||
assert not configuration.plugin_configuration
|
||||
|
||||
Reference in New Issue
Block a user