Reorder LMS imports using isort
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
""" CCX API URLs. """
|
||||
from django.conf.urls import patterns, url, include
|
||||
from django.conf.urls import include, patterns, url
|
||||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
""" CCX API v0 Serializers. """
|
||||
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from rest_framework import serializers
|
||||
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from ccx_keys.locator import CCXLocator
|
||||
|
||||
|
||||
class CCXCourseSerializer(serializers.ModelSerializer):
|
||||
|
||||
@@ -3,7 +3,6 @@ Tests for the CCX REST APIs.
|
||||
"""
|
||||
import json
|
||||
import math
|
||||
import pytz
|
||||
import string
|
||||
import urllib
|
||||
import urlparse
|
||||
@@ -12,45 +11,31 @@ from itertools import izip
|
||||
|
||||
import ddt
|
||||
import mock
|
||||
import pytz
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.urlresolvers import (
|
||||
reverse,
|
||||
resolve,
|
||||
Resolver404
|
||||
)
|
||||
from django.core.urlresolvers import Resolver404, resolve, reverse
|
||||
from nose.plugins.attrib import attr
|
||||
from oauth2_provider import models as dot_models
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from provider.constants import CONFIDENTIAL
|
||||
from provider.oauth2.models import (
|
||||
Client,
|
||||
Grant,
|
||||
)
|
||||
from provider.oauth2.models import Client, Grant
|
||||
from rest_framework import status
|
||||
from rest_framework.test import APITestCase
|
||||
|
||||
from courseware import courses
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from student.models import CourseEnrollment
|
||||
from student.tests.factories import UserFactory
|
||||
from lms.djangoapps.instructor.access import allow_access, list_with_level
|
||||
from lms.djangoapps.instructor.enrollment import (
|
||||
enroll_email,
|
||||
get_email_params,
|
||||
)
|
||||
from lms.djangoapps.ccx.api.v0 import views
|
||||
from lms.djangoapps.ccx.models import CcxFieldOverride, CustomCourseForEdX
|
||||
from lms.djangoapps.ccx.overrides import override_field_for_ccx
|
||||
from lms.djangoapps.ccx.tests.utils import CcxTestCase
|
||||
from lms.djangoapps.ccx.utils import get_course_chapters
|
||||
from lms.djangoapps.ccx.utils import ccx_course as ccx_course_cm
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from student.roles import (
|
||||
CourseInstructorRole,
|
||||
CourseCcxCoachRole,
|
||||
CourseStaffRole,
|
||||
)
|
||||
from student.tests.factories import AdminFactory
|
||||
from lms.djangoapps.ccx.utils import get_course_chapters
|
||||
from lms.djangoapps.instructor.access import allow_access, list_with_level
|
||||
from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params
|
||||
from student.models import CourseEnrollment
|
||||
from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
|
||||
from student.tests.factories import AdminFactory, UserFactory
|
||||
|
||||
USER_PASSWORD = 'test'
|
||||
AUTH_ATTRS = ('auth', 'auth_header_oauth2_provider')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
""" CCX API v0 URLs. """
|
||||
|
||||
from django.conf import settings
|
||||
from django.conf.urls import patterns, url, include
|
||||
from django.conf.urls import include, patterns, url
|
||||
|
||||
from lms.djangoapps.ccx.api.v0 import views
|
||||
|
||||
|
||||
@@ -3,45 +3,36 @@
|
||||
import datetime
|
||||
import json
|
||||
import logging
|
||||
import pytz
|
||||
|
||||
import pytz
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import transaction
|
||||
from django.http import Http404
|
||||
from edx_rest_framework_extensions.authentication import JwtAuthentication
|
||||
from opaque_keys import InvalidKeyError
|
||||
from opaque_keys.edx.keys import CourseKey, UsageKey
|
||||
from rest_framework import status
|
||||
from rest_framework.generics import GenericAPIView
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework.response import Response
|
||||
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from courseware import courses
|
||||
from xmodule.modulestore.django import SignalHandler
|
||||
from edx_rest_framework_extensions.authentication import JwtAuthentication
|
||||
from lms.djangoapps.instructor.enrollment import (
|
||||
enroll_email,
|
||||
get_email_params,
|
||||
)
|
||||
from opaque_keys import InvalidKeyError
|
||||
from opaque_keys.edx.keys import CourseKey, UsageKey
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
from openedx.core.lib.api import (
|
||||
authentication,
|
||||
permissions,
|
||||
)
|
||||
from student.models import CourseEnrollment
|
||||
from student.roles import CourseCcxCoachRole
|
||||
|
||||
|
||||
from lms.djangoapps.ccx.models import CcxFieldOverride, CustomCourseForEdX
|
||||
from lms.djangoapps.ccx.overrides import (
|
||||
override_field_for_ccx,
|
||||
)
|
||||
from lms.djangoapps.ccx.overrides import override_field_for_ccx
|
||||
from lms.djangoapps.ccx.utils import (
|
||||
add_master_course_staff_to_ccx,
|
||||
assign_staff_role_to_ccx,
|
||||
is_email,
|
||||
get_course_chapters,
|
||||
is_email
|
||||
)
|
||||
from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
from openedx.core.lib.api import authentication, permissions
|
||||
from student.models import CourseEnrollment
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from xmodule.modulestore.django import SignalHandler
|
||||
|
||||
from .paginators import CCXAPIPagination
|
||||
from .serializers import CCXCourseSerializer
|
||||
|
||||
|
||||
@@ -2,21 +2,21 @@
|
||||
Models for the custom course feature
|
||||
"""
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import json
|
||||
import logging
|
||||
from datetime import datetime
|
||||
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from pytz import utc
|
||||
from lazy import lazy
|
||||
from pytz import utc
|
||||
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from openedx.core.djangoapps.xmodule_django.models import CourseKeyField, LocationKeyField
|
||||
from xmodule.error_module import ErrorDescriptor
|
||||
from xmodule.modulestore.django import modulestore
|
||||
|
||||
|
||||
log = logging.getLogger("edx.ccx")
|
||||
|
||||
|
||||
|
||||
@@ -11,8 +11,10 @@ version that was passed in.
|
||||
"""
|
||||
from contextlib import contextmanager
|
||||
from functools import partial
|
||||
from ccx_keys.locator import CCXLocator, CCXBlockUsageLocator
|
||||
from opaque_keys.edx.locator import CourseLocator, BlockUsageLocator
|
||||
|
||||
from ccx_keys.locator import CCXBlockUsageLocator, CCXLocator
|
||||
from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
|
||||
|
||||
from xmodule.modulestore import XMODULE_FIELDS_WITH_USAGE_KEYS
|
||||
|
||||
|
||||
|
||||
@@ -5,17 +5,14 @@ by the individual custom courses feature.
|
||||
import json
|
||||
import logging
|
||||
|
||||
from ccx_keys.locator import CCXBlockUsageLocator, CCXLocator
|
||||
from django.db import transaction
|
||||
from opaque_keys.edx.keys import CourseKey, UsageKey
|
||||
|
||||
import request_cache
|
||||
|
||||
from courseware.field_overrides import FieldOverrideProvider
|
||||
from opaque_keys.edx.keys import CourseKey, UsageKey
|
||||
from ccx_keys.locator import CCXLocator, CCXBlockUsageLocator
|
||||
|
||||
from lms.djangoapps.ccx.models import CcxFieldOverride, CustomCourseForEdX
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ Registers the CCX feature for the edX platform.
|
||||
from django.conf import settings
|
||||
from django.utils.translation import ugettext_noop
|
||||
|
||||
from xmodule.tabs import CourseTab
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from courseware.access import has_access
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from xmodule.tabs import CourseTab
|
||||
|
||||
|
||||
class CcxCourseTab(CourseTab):
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
Asynchronous tasks for the CCX app.
|
||||
"""
|
||||
|
||||
from django.dispatch import receiver
|
||||
import logging
|
||||
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from django.dispatch import receiver
|
||||
from opaque_keys import InvalidKeyError
|
||||
from opaque_keys.edx.locator import CourseLocator
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from xmodule.modulestore.django import SignalHandler
|
||||
from lms import CELERY_APP
|
||||
|
||||
from lms import CELERY_APP
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from xmodule.modulestore.django import SignalHandler
|
||||
|
||||
log = logging.getLogger("edx.ccx")
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
"""
|
||||
Dummy factories for tests
|
||||
"""
|
||||
from factory import SubFactory, Sequence
|
||||
from factory import Sequence, SubFactory
|
||||
from factory.django import DjangoModelFactory
|
||||
from student.tests.factories import UserFactory
|
||||
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from student.tests.factories import UserFactory
|
||||
|
||||
|
||||
class CcxFactory(DjangoModelFactory): # pylint: disable=missing-docstring
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
"""
|
||||
Test the CCXModulestoreWrapper
|
||||
"""
|
||||
from collections import deque
|
||||
from ccx_keys.locator import CCXLocator
|
||||
import datetime
|
||||
from itertools import izip_longest, chain
|
||||
from collections import deque
|
||||
from itertools import chain, izip_longest
|
||||
|
||||
import pytz
|
||||
from student.tests.factories import AdminFactory
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
SharedModuleStoreTestCase,
|
||||
TEST_DATA_SPLIT_MODULESTORE
|
||||
)
|
||||
from student.tests.factories import UserFactory
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
|
||||
from ccx_keys.locator import CCXLocator
|
||||
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from student.tests.factories import AdminFactory, UserFactory
|
||||
from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
|
||||
|
||||
|
||||
class TestCCXModulestoreWrapper(SharedModuleStoreTestCase):
|
||||
|
||||
@@ -2,33 +2,37 @@
|
||||
"""
|
||||
Performance tests for field overrides.
|
||||
"""
|
||||
import ddt
|
||||
import itertools
|
||||
import mock
|
||||
from nose.plugins.skip import SkipTest
|
||||
|
||||
from courseware.views.views import progress
|
||||
from courseware.field_overrides import OverrideFieldData
|
||||
from courseware.testutils import FieldOverrideTestMixin
|
||||
from datetime import datetime
|
||||
|
||||
import ddt
|
||||
import mock
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from django.conf import settings
|
||||
from django.core.cache import caches
|
||||
from django.test.client import RequestFactory
|
||||
from django.test.utils import override_settings
|
||||
from nose.plugins.attrib import attr
|
||||
from nose.plugins.skip import SkipTest
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from pytz import UTC
|
||||
from xblock.core import XBlock
|
||||
|
||||
from courseware.field_overrides import OverrideFieldData
|
||||
from courseware.testutils import FieldOverrideTestMixin
|
||||
from courseware.views.views import progress
|
||||
from lms.djangoapps.ccx.tests.factories import CcxFactory
|
||||
from openedx.core.djangoapps.content.block_structure.api import get_course_in_cache
|
||||
from request_cache.middleware import RequestCache
|
||||
from student.models import CourseEnrollment
|
||||
from student.tests.factories import UserFactory
|
||||
from xblock.core import XBlock
|
||||
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, \
|
||||
TEST_DATA_SPLIT_MODULESTORE, TEST_DATA_MONGO_MODULESTORE
|
||||
from xmodule.modulestore.tests.factories import check_mongo_calls, CourseFactory, check_sum_of_calls
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
TEST_DATA_MONGO_MODULESTORE,
|
||||
TEST_DATA_SPLIT_MODULESTORE,
|
||||
ModuleStoreTestCase
|
||||
)
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, check_mongo_calls, check_sum_of_calls
|
||||
from xmodule.modulestore.tests.utils import ProceduralCourseTestMixin
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from lms.djangoapps.ccx.tests.factories import CcxFactory
|
||||
from openedx.core.djangoapps.content.block_structure.api import get_course_in_cache
|
||||
|
||||
|
||||
@attr(shard=3)
|
||||
|
||||
@@ -1,28 +1,20 @@
|
||||
"""
|
||||
tests for the models
|
||||
"""
|
||||
import ddt
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
import ddt
|
||||
from nose.plugins.attrib import attr
|
||||
from pytz import utc
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from student.tests.factories import (
|
||||
AdminFactory,
|
||||
)
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
ModuleStoreTestCase,
|
||||
TEST_DATA_SPLIT_MODULESTORE
|
||||
)
|
||||
from xmodule.modulestore.tests.factories import (
|
||||
CourseFactory,
|
||||
check_mongo_calls
|
||||
)
|
||||
|
||||
from .factories import (
|
||||
CcxFactory,
|
||||
)
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from student.tests.factories import AdminFactory
|
||||
from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, check_mongo_calls
|
||||
|
||||
from ..overrides import override_field_for_ccx
|
||||
from .factories import CcxFactory
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
|
||||
@@ -3,28 +3,25 @@
|
||||
tests for overrides
|
||||
"""
|
||||
import datetime
|
||||
|
||||
import mock
|
||||
import pytz
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from django.test.utils import override_settings
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from courseware.courses import get_course_by_id
|
||||
from courseware.field_overrides import OverrideFieldData
|
||||
from courseware.testutils import FieldOverrideTestMixin
|
||||
from django.test.utils import override_settings
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from lms.djangoapps.ccx.overrides import override_field_for_ccx
|
||||
from lms.djangoapps.ccx.tests.utils import flatten, iter_blocks
|
||||
from lms.djangoapps.courseware.tests.test_field_overrides import inject_field_overrides
|
||||
from request_cache.middleware import RequestCache
|
||||
from student.tests.factories import AdminFactory
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
SharedModuleStoreTestCase,
|
||||
TEST_DATA_SPLIT_MODULESTORE)
|
||||
from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
|
||||
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from lms.djangoapps.ccx.overrides import override_field_for_ccx
|
||||
|
||||
from lms.djangoapps.ccx.tests.utils import flatten, iter_blocks
|
||||
|
||||
|
||||
@attr(shard=1)
|
||||
@override_settings(
|
||||
|
||||
@@ -2,24 +2,18 @@
|
||||
Tests for celery tasks defined in tasks module
|
||||
"""
|
||||
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from mock_django import mock_signal_receiver
|
||||
|
||||
from lms.djangoapps.ccx.tests.factories import CcxFactory
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from student.tests.factories import (
|
||||
AdminFactory,
|
||||
)
|
||||
from xmodule.modulestore.django import SignalHandler
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
ModuleStoreTestCase,
|
||||
TEST_DATA_SPLIT_MODULESTORE)
|
||||
from openedx.core.djangoapps.content.course_structures.models import CourseStructure
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
|
||||
from ccx_keys.locator import CCXLocator
|
||||
|
||||
from lms.djangoapps.ccx.tasks import send_ccx_course_published
|
||||
from lms.djangoapps.ccx.tests.factories import CcxFactory
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
from openedx.core.djangoapps.content.course_structures.models import CourseStructure
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from student.tests.factories import AdminFactory
|
||||
from xmodule.modulestore.django import SignalHandler
|
||||
from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
|
||||
class TestSendCCXCoursePublished(ModuleStoreTestCase):
|
||||
|
||||
@@ -1,40 +1,25 @@
|
||||
"""
|
||||
test utils
|
||||
"""
|
||||
import mock
|
||||
import uuid
|
||||
from nose.plugins.attrib import attr
|
||||
from smtplib import SMTPException
|
||||
|
||||
import mock
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from student.roles import (
|
||||
CourseCcxCoachRole,
|
||||
CourseInstructorRole,
|
||||
CourseStaffRole,
|
||||
)
|
||||
from student.tests.factories import AdminFactory
|
||||
|
||||
from student.models import CourseEnrollment, CourseEnrollmentException
|
||||
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
ModuleStoreTestCase,
|
||||
TEST_DATA_SPLIT_MODULESTORE
|
||||
)
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
from nose.plugins.attrib import attr
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from xmodule.modulestore.django import modulestore
|
||||
|
||||
from lms.djangoapps.ccx import utils
|
||||
from lms.djangoapps.instructor.access import (
|
||||
list_with_level,
|
||||
)
|
||||
from lms.djangoapps.ccx.utils import (
|
||||
add_master_course_staff_to_ccx,
|
||||
ccx_course,
|
||||
remove_master_course_staff_from_ccx
|
||||
)
|
||||
from lms.djangoapps.ccx.tests.factories import CcxFactory
|
||||
from lms.djangoapps.ccx.tests.utils import CcxTestCase
|
||||
from lms.djangoapps.ccx.utils import add_master_course_staff_to_ccx, ccx_course, remove_master_course_staff_from_ccx
|
||||
from lms.djangoapps.instructor.access import list_with_level
|
||||
from student.models import CourseEnrollment, CourseEnrollmentException
|
||||
from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
|
||||
from student.tests.factories import AdminFactory
|
||||
from xmodule.modulestore.django import modulestore
|
||||
from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory
|
||||
|
||||
|
||||
@attr(shard=1)
|
||||
|
||||
@@ -4,78 +4,52 @@ test views
|
||||
import datetime
|
||||
import json
|
||||
import re
|
||||
import pytz
|
||||
import ddt
|
||||
import urlparse
|
||||
|
||||
import ddt
|
||||
import pytz
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from dateutil.tz import tzutc
|
||||
from mock import patch, MagicMock
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import resolve, reverse
|
||||
from django.test import RequestFactory
|
||||
from django.test.utils import override_settings
|
||||
from django.utils.timezone import UTC
|
||||
from django.utils.translation import ugettext as _
|
||||
from mock import MagicMock, patch
|
||||
from nose.plugins.attrib import attr
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
from capa.tests.response_xml_factory import StringResponseXMLFactory
|
||||
from courseware.courses import get_course_by_id
|
||||
from courseware.tabs import get_course_tab_list
|
||||
from courseware.tests.factories import StudentModuleFactory
|
||||
from courseware.tests.helpers import LoginEnrollmentTestCase
|
||||
from courseware.tabs import get_course_tab_list
|
||||
from courseware.testutils import FieldOverrideTestMixin
|
||||
from django_comment_client.utils import has_forum_access
|
||||
from django_comment_common.models import FORUM_ROLE_ADMINISTRATOR
|
||||
from django_comment_common.utils import are_permissions_roles_seeded
|
||||
from lms.djangoapps.instructor.access import (
|
||||
allow_access,
|
||||
list_with_level,
|
||||
)
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse, resolve
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.utils.timezone import UTC
|
||||
from django.test.utils import override_settings
|
||||
from django.test import RequestFactory
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from request_cache.middleware import RequestCache
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from student.roles import (
|
||||
CourseCcxCoachRole,
|
||||
CourseInstructorRole,
|
||||
CourseStaffRole,
|
||||
)
|
||||
from student.models import (
|
||||
CourseEnrollment,
|
||||
CourseEnrollmentAllowed,
|
||||
)
|
||||
from student.tests.factories import (
|
||||
AdminFactory,
|
||||
CourseEnrollmentFactory,
|
||||
UserFactory,
|
||||
)
|
||||
|
||||
from xmodule.x_module import XModuleMixin
|
||||
from xmodule.modulestore import ModuleStoreEnum
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
ModuleStoreTestCase,
|
||||
SharedModuleStoreTestCase,
|
||||
TEST_DATA_SPLIT_MODULESTORE)
|
||||
from xmodule.modulestore.tests.factories import (
|
||||
CourseFactory,
|
||||
ItemFactory,
|
||||
SampleCourseFactory,
|
||||
)
|
||||
from ccx_keys.locator import CCXLocator
|
||||
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from lms.djangoapps.ccx.overrides import get_override_for_ccx, override_field_for_ccx
|
||||
from lms.djangoapps.ccx.tests.factories import CcxFactory
|
||||
from lms.djangoapps.ccx.tests.utils import (
|
||||
CcxTestCase,
|
||||
flatten,
|
||||
)
|
||||
from lms.djangoapps.ccx.utils import (
|
||||
ccx_course,
|
||||
is_email,
|
||||
)
|
||||
from lms.djangoapps.ccx.tests.utils import CcxTestCase, flatten
|
||||
from lms.djangoapps.ccx.utils import ccx_course, is_email
|
||||
from lms.djangoapps.ccx.views import get_date
|
||||
|
||||
from lms.djangoapps.instructor.access import allow_access, list_with_level
|
||||
from request_cache.middleware import RequestCache
|
||||
from student.models import CourseEnrollment, CourseEnrollmentAllowed
|
||||
from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
|
||||
from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
|
||||
from xmodule.modulestore import ModuleStoreEnum
|
||||
from xmodule.modulestore.django import modulestore
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
TEST_DATA_SPLIT_MODULESTORE,
|
||||
ModuleStoreTestCase,
|
||||
SharedModuleStoreTestCase
|
||||
)
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, SampleCourseFactory
|
||||
from xmodule.x_module import XModuleMixin
|
||||
|
||||
|
||||
def intercept_renderer(path, context):
|
||||
|
||||
@@ -2,30 +2,17 @@
|
||||
Test utils for CCX
|
||||
"""
|
||||
import datetime
|
||||
|
||||
import pytz
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
from student.roles import (
|
||||
CourseCcxCoachRole,
|
||||
CourseInstructorRole,
|
||||
CourseStaffRole
|
||||
)
|
||||
from student.tests.factories import (
|
||||
UserFactory
|
||||
)
|
||||
from xmodule.modulestore.django import modulestore
|
||||
from xmodule.modulestore.tests.django_utils import (
|
||||
SharedModuleStoreTestCase,
|
||||
TEST_DATA_SPLIT_MODULESTORE
|
||||
)
|
||||
from xmodule.modulestore.tests.factories import (
|
||||
CourseFactory,
|
||||
ItemFactory,
|
||||
)
|
||||
|
||||
from lms.djangoapps.ccx.overrides import override_field_for_ccx
|
||||
from lms.djangoapps.ccx.tests.factories import CcxFactory
|
||||
from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
|
||||
from student.tests.factories import UserFactory
|
||||
from xmodule.modulestore.django import modulestore
|
||||
from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
|
||||
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
|
||||
|
||||
|
||||
class CcxTestCase(SharedModuleStoreTestCase):
|
||||
|
||||
@@ -3,7 +3,6 @@ URLs for the CCX Feature.
|
||||
"""
|
||||
from django.conf.urls import patterns, url
|
||||
|
||||
|
||||
urlpatterns = patterns(
|
||||
'',
|
||||
url(r'^ccx_coach$',
|
||||
|
||||
@@ -5,40 +5,27 @@ Does not include any access control, be sure to check access before calling.
|
||||
"""
|
||||
import datetime
|
||||
import logging
|
||||
import pytz
|
||||
from contextlib import contextmanager
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.core.validators import validate_email
|
||||
from django.core.urlresolvers import reverse
|
||||
from smtplib import SMTPException
|
||||
|
||||
import pytz
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.validators import validate_email
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from courseware.courses import get_course_by_id
|
||||
from lms.djangoapps.instructor.enrollment import (
|
||||
enroll_email,
|
||||
get_email_params,
|
||||
unenroll_email,
|
||||
)
|
||||
from lms.djangoapps.instructor.access import (
|
||||
allow_access,
|
||||
list_with_level,
|
||||
revoke_access,
|
||||
)
|
||||
from lms.djangoapps.ccx.custom_exception import CCXUserValidationException
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from lms.djangoapps.ccx.overrides import get_override_for_ccx
|
||||
from lms.djangoapps.instructor.access import allow_access, list_with_level, revoke_access
|
||||
from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params, unenroll_email
|
||||
from lms.djangoapps.instructor.views.tools import get_student_from_identifier
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
from openedx.core.djangoapps.content.course_structures.models import CourseStructure
|
||||
from student.models import CourseEnrollment, CourseEnrollmentException
|
||||
from student.roles import (
|
||||
CourseCcxCoachRole,
|
||||
CourseInstructorRole,
|
||||
CourseStaffRole
|
||||
)
|
||||
|
||||
from lms.djangoapps.ccx.overrides import get_override_for_ccx
|
||||
from lms.djangoapps.ccx.custom_exception import CCXUserValidationException
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
|
||||
|
||||
log = logging.getLogger("edx.ccx")
|
||||
|
||||
|
||||
@@ -6,66 +6,55 @@ import datetime
|
||||
import functools
|
||||
import json
|
||||
import logging
|
||||
import pytz
|
||||
|
||||
from copy import deepcopy
|
||||
from cStringIO import StringIO
|
||||
|
||||
import pytz
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.http import (
|
||||
HttpResponse,
|
||||
HttpResponseForbidden,
|
||||
)
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.db import transaction
|
||||
from django.http import Http404
|
||||
from django.http import Http404, HttpResponse, HttpResponseForbidden
|
||||
from django.shortcuts import redirect
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.views.decorators.cache import cache_control
|
||||
from django.views.decorators.csrf import ensure_csrf_cookie
|
||||
from django.contrib.auth.models import User
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
from courseware.access import has_access
|
||||
from courseware.courses import get_course_by_id
|
||||
|
||||
from courseware.field_overrides import disable_overrides
|
||||
from django_comment_common.models import FORUM_ROLE_ADMINISTRATOR, assign_role
|
||||
from django_comment_common.utils import seed_permissions_roles
|
||||
from edxmako.shortcuts import render_to_response
|
||||
from lms.djangoapps.grades.new.course_grade_factory import CourseGradeFactory
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from ccx_keys.locator import CCXLocator
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from student.models import CourseEnrollment
|
||||
from xmodule.modulestore.django import SignalHandler
|
||||
|
||||
from lms.djangoapps.instructor.views.api import _split_input_list
|
||||
from lms.djangoapps.instructor.views.gradebook_api import get_grade_book_page
|
||||
from lms.djangoapps.instructor.enrollment import (
|
||||
enroll_email,
|
||||
get_email_params,
|
||||
)
|
||||
|
||||
from lms.djangoapps.ccx.models import CustomCourseForEdX
|
||||
from lms.djangoapps.ccx.overrides import (
|
||||
get_override_for_ccx,
|
||||
override_field_for_ccx,
|
||||
clear_ccx_field_info_from_ccx_map,
|
||||
bulk_delete_ccx_override_fields,
|
||||
clear_ccx_field_info_from_ccx_map,
|
||||
get_override_for_ccx,
|
||||
override_field_for_ccx
|
||||
)
|
||||
from lms.djangoapps.ccx.utils import (
|
||||
add_master_course_staff_to_ccx,
|
||||
assign_staff_role_to_ccx,
|
||||
ccx_course,
|
||||
ccx_students_enrolling_center,
|
||||
get_ccx_for_coach,
|
||||
get_ccx_by_ccx_id,
|
||||
get_ccx_creation_dict,
|
||||
get_ccx_for_coach,
|
||||
get_date,
|
||||
parse_date,
|
||||
prep_course_for_grading,
|
||||
prep_course_for_grading
|
||||
)
|
||||
from lms.djangoapps.grades.new.course_grade_factory import CourseGradeFactory
|
||||
from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params
|
||||
from lms.djangoapps.instructor.views.api import _split_input_list
|
||||
from lms.djangoapps.instructor.views.gradebook_api import get_grade_book_page
|
||||
from student.models import CourseEnrollment
|
||||
from student.roles import CourseCcxCoachRole
|
||||
from xmodule.modulestore.django import SignalHandler
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
TODAY = datetime.datetime.today # for patching in tests
|
||||
|
||||
Reference in New Issue
Block a user