fix: DiscussionsConfigurations admin error
This commit is contained in:
committed by
Peter Pinch
parent
475b49c3ca
commit
8f7496d00e
@@ -3,6 +3,7 @@ Customize the django admin experience
|
||||
"""
|
||||
from django.contrib import admin
|
||||
from django.contrib.admin import SimpleListFilter
|
||||
from django.contrib.admin.utils import quote
|
||||
from simple_history.admin import SimpleHistoryAdmin
|
||||
|
||||
from openedx.core.djangoapps.config_model_utils.admin import StackedConfigModelAdmin
|
||||
@@ -26,6 +27,9 @@ class DiscussionsConfigurationAdmin(SimpleHistoryAdmin):
|
||||
'provider_type',
|
||||
)
|
||||
|
||||
def change_view(self, request, object_id=None, form_url="", extra_context=None):
|
||||
return super().change_view(request, quote(object_id), form_url, extra_context)
|
||||
|
||||
|
||||
class AllowListFilter(SimpleListFilter):
|
||||
"""
|
||||
|
||||
32
openedx/core/djangoapps/discussions/tests/test_admin.py
Normal file
32
openedx/core/djangoapps/discussions/tests/test_admin.py
Normal file
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
Tests for DiscussionsConfiguration admin view
|
||||
"""
|
||||
from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
from common.djangoapps.student.tests.factories import UserFactory
|
||||
from openedx.core.djangoapps.discussions.models import DiscussionsConfiguration, Provider
|
||||
|
||||
|
||||
class DiscussionsConfigurationAdminTest(TestCase):
|
||||
"""
|
||||
Tests for discussion config admin
|
||||
"""
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.superuser = UserFactory(is_staff=True, is_superuser=True)
|
||||
self.client.login(username=self.superuser.username, password="Password1234")
|
||||
|
||||
def test_change_view(self):
|
||||
"""
|
||||
Test that the DiscussionAdmin's change_view processes the context_key correctly and returns a successful
|
||||
response.
|
||||
"""
|
||||
discussion_config = DiscussionsConfiguration.objects.create(
|
||||
context_key='course-v1:test+test+06_25_2024',
|
||||
provider_type=Provider.OPEN_EDX,
|
||||
)
|
||||
url = reverse('admin:discussions_discussionsconfiguration_change', args=[discussion_config.context_key])
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertContains(response, 'course-v1:test+test+06_25_2024')
|
||||
Reference in New Issue
Block a user