From efba6e45e82ed98b0b6706228015b4c753b7a243 Mon Sep 17 00:00:00 2001 From: Ned Batchelder <ned@edx.org> Date: Thu, 5 Sep 2019 12:30:22 -0400 Subject: [PATCH] Finally import courseware properly everywhere to get rid of a warning --- .../management/commands/edit_course_tabs.py | 2 +- .../tests/test_users_default_role.py | 2 +- cms/envs/common.py | 2 +- .../entitlements/api/v1/permissions.py | 2 +- .../entitlements/api/v1/tests/test_views.py | 2 +- common/djangoapps/student/models.py | 2 +- .../djangoapps/student/tests/test_models.py | 2 +- common/djangoapps/student/tests/test_roles.py | 2 +- common/djangoapps/student/views/dashboard.py | 2 +- common/djangoapps/student/views/management.py | 2 +- .../xmodule/modulestore/tests/django_utils.py | 2 +- lms/djangoapps/branding/tests/test_page.py | 2 +- lms/djangoapps/branding/views.py | 4 ++-- lms/djangoapps/bulk_email/tasks.py | 2 +- lms/djangoapps/bulk_email/tests/test_email.py | 2 +- .../bulk_enroll/tests/test_views.py | 2 +- lms/djangoapps/ccx/api/v0/tests/test_views.py | 2 +- lms/djangoapps/ccx/api/v0/views.py | 2 +- .../0003_add_master_course_staff_in_ccx.py | 4 ++-- .../0004_seed_forum_roles_in_ccx_courses.py | 2 +- .../0005_change_ccx_coach_to_staff.py | 2 +- .../0006_set_display_name_as_override.py | 2 +- lms/djangoapps/ccx/permissions.py | 2 +- lms/djangoapps/ccx/plugins.py | 1 - .../tests/test_field_override_performance.py | 4 ++-- lms/djangoapps/ccx/tests/test_overrides.py | 4 ++-- lms/djangoapps/ccx/tests/test_views.py | 10 ++++----- lms/djangoapps/ccx/utils.py | 2 +- lms/djangoapps/ccx/views.py | 3 +-- lms/djangoapps/certificates/tests/test_api.py | 2 +- lms/djangoapps/certificates/views/support.py | 2 +- lms/djangoapps/certificates/views/webview.py | 3 +-- .../class_dashboard/dashboard_data.py | 2 +- .../tests/test_dashboard_data.py | 2 +- lms/djangoapps/class_dashboard/views.py | 4 ++-- lms/djangoapps/commerce/api/v0/views.py | 2 +- .../course_api/blocks/permissions.py | 2 +- .../transformers/library_content.py | 2 +- .../transformers/load_override_data.py | 2 +- .../transformers/tests/test_start_date.py | 2 +- lms/djangoapps/course_blocks/utils.py | 2 +- lms/djangoapps/course_wiki/middleware.py | 4 ++-- lms/djangoapps/course_wiki/tab.py | 2 +- .../course_wiki/tests/test_access.py | 2 +- .../tests/test_comprehensive_theming.py | 2 +- .../course_wiki/tests/test_middleware.py | 2 +- lms/djangoapps/course_wiki/tests/test_tab.py | 2 +- lms/djangoapps/course_wiki/tests/tests.py | 2 +- lms/djangoapps/course_wiki/utils.py | 4 ++-- lms/djangoapps/course_wiki/views.py | 2 +- lms/djangoapps/courseware/access.py | 6 ++--- lms/djangoapps/courseware/access_utils.py | 4 ++-- lms/djangoapps/courseware/admin.py | 2 +- lms/djangoapps/courseware/course_tools.py | 2 +- lms/djangoapps/courseware/courses.py | 12 +++++----- lms/djangoapps/courseware/entrance_exams.py | 2 +- ..._orgdynamicupgradedeadlineconfiguration.py | 4 ++-- .../migrations/0011_csm_id_bigint.py | 5 +++-- lms/djangoapps/courseware/model_data.py | 2 +- lms/djangoapps/courseware/models.py | 8 ++++++- lms/djangoapps/courseware/module_render.py | 8 +++---- .../courseware/student_field_overrides.py | 2 +- lms/djangoapps/courseware/tabs.py | 4 ++-- lms/djangoapps/courseware/tests/factories.py | 2 +- lms/djangoapps/courseware/tests/helpers.py | 4 ++-- .../courseware/tests/test_access.py | 10 ++++----- .../tests/test_context_processor.py | 2 +- .../courseware/tests/test_course_survey.py | 2 +- .../courseware/tests/test_course_tools.py | 4 ++-- .../courseware/tests/test_courses.py | 6 ++--- .../courseware/tests/test_date_summary.py | 6 ++--- .../tests/test_discussion_xblock.py | 2 +- .../courseware/tests/test_entrance_exam.py | 10 ++++----- .../courseware/tests/test_field_overrides.py | 2 +- .../courseware/tests/test_group_access.py | 4 ++-- .../courseware/tests/test_lti_integration.py | 4 ++-- .../courseware/tests/test_masquerade.py | 10 +++++---- .../courseware/tests/test_model_data.py | 10 ++++----- .../courseware/tests/test_module_render.py | 22 ++++++++++--------- .../courseware/tests/test_navigation.py | 4 ++-- .../courseware/tests/test_password_reset.py | 2 +- .../tests/test_self_paced_overrides.py | 8 ++++--- .../courseware/tests/test_split_module.py | 4 ++-- .../tests/test_submitting_problems.py | 4 ++-- lms/djangoapps/courseware/tests/test_tabs.py | 10 ++++----- .../tests/test_user_state_client.py | 4 ++-- .../tests/test_view_authentication.py | 6 ++--- lms/djangoapps/courseware/tests/test_views.py | 18 +++++++-------- lms/djangoapps/courseware/tests/tests.py | 2 +- .../courseware/user_state_client.py | 2 +- lms/djangoapps/courseware/views/views.py | 20 +++++++++-------- .../migrations/0001_initial.py | 2 +- .../coursewarehistoryextended/models.py | 4 ++-- .../coursewarehistoryextended/tests.py | 4 ++-- lms/djangoapps/dashboard/sysadmin.py | 2 +- .../django_comment_client/base/views.py | 4 ++-- .../django_comment_client/tests/test_utils.py | 4 ++-- .../discussion/django_comment_client/utils.py | 4 ++-- .../commands/get_discussion_link.py | 2 +- lms/djangoapps/discussion/plugins.py | 2 +- lms/djangoapps/discussion/rest_api/forms.py | 2 +- .../discussion/rest_api/tests/test_api.py | 2 +- lms/djangoapps/discussion/views.py | 6 ++--- lms/djangoapps/edxnotes/helpers.py | 4 ++-- lms/djangoapps/edxnotes/plugins.py | 2 +- lms/djangoapps/edxnotes/tests.py | 6 ++--- lms/djangoapps/edxnotes/views.py | 6 ++--- lms/djangoapps/experiments/utils.py | 4 ++-- lms/djangoapps/gating/tests/test_api.py | 2 +- .../commands/recalculate_subsection_grades.py | 2 +- .../grades/migrations/0001_initial.py | 2 +- .../0006_persistent_course_grades.py | 2 +- .../0013_persistentsubsectiongradeoverride.py | 2 +- lms/djangoapps/grades/models.py | 2 +- .../grades/rest_api/v1/gradebook_views.py | 2 +- lms/djangoapps/grades/signals/handlers.py | 2 +- .../grades/subsection_grade_factory.py | 2 +- lms/djangoapps/grades/tasks.py | 2 +- .../grades/tests/integration/test_access.py | 2 +- .../grades/tests/integration/test_events.py | 2 +- .../grades/tests/integration/test_problems.py | 2 +- .../grades/tests/test_course_grade_factory.py | 2 +- .../tests/test_subsection_grade_factory.py | 2 +- lms/djangoapps/grades/tests/utils.py | 4 ++-- lms/djangoapps/instructor/enrollment.py | 2 +- .../paidcourse_enrollment_report.py | 4 ++-- lms/djangoapps/instructor/permissions.py | 2 +- lms/djangoapps/instructor/services.py | 2 +- lms/djangoapps/instructor/tests/test_api.py | 6 ++--- .../tests/test_api_email_localization.py | 2 +- .../instructor/tests/test_certificates.py | 2 +- .../instructor/tests/test_enrollment.py | 2 +- .../tests/test_registration_codes.py | 2 +- .../instructor/tests/test_services.py | 2 +- .../instructor/tests/test_spoc_gradebook.py | 2 +- .../tests/views/test_instructor_dashboard.py | 6 ++--- lms/djangoapps/instructor/utils.py | 4 ++-- lms/djangoapps/instructor/views/api.py | 6 ++--- .../instructor/views/gradebook_api.py | 2 +- .../instructor/views/instructor_dashboard.py | 4 ++-- .../instructor/views/registration_codes.py | 2 +- lms/djangoapps/instructor_analytics/basic.py | 2 +- .../instructor_analytics/tests/test_basic.py | 2 +- lms/djangoapps/instructor_task/api_helper.py | 4 ++-- .../tasks_helper/enrollments.py | 2 +- .../instructor_task/tasks_helper/grades.py | 4 ++-- .../tasks_helper/module_state.py | 8 +++---- .../instructor_task/tests/test_api.py | 2 +- .../instructor_task/tests/test_base.py | 4 ++-- .../instructor_task/tests/test_integration.py | 2 +- .../instructor_task/tests/test_tasks.py | 4 ++-- .../tests/test_tasks_helper.py | 2 +- .../lti_provider/tests/test_views.py | 2 +- lms/djangoapps/lti_provider/views.py | 2 +- .../mobile_api/course_info/views.py | 2 +- .../mobile_api/tests/test_milestones.py | 4 ++-- lms/djangoapps/mobile_api/testutils.py | 4 ++-- .../mobile_api/users/serializers.py | 2 +- lms/djangoapps/mobile_api/users/tests.py | 2 +- lms/djangoapps/mobile_api/users/views.py | 10 ++++----- lms/djangoapps/oauth2_handler/handlers.py | 2 +- lms/djangoapps/shoppingcart/models.py | 2 +- lms/djangoapps/shoppingcart/reports.py | 2 +- .../shoppingcart/tests/test_views.py | 2 +- lms/djangoapps/shoppingcart/views.py | 2 +- lms/djangoapps/staticbook/views.py | 4 ++-- lms/djangoapps/support/decorators.py | 2 +- lms/djangoapps/survey/utils.py | 2 +- lms/djangoapps/teams/plugins.py | 2 +- lms/djangoapps/teams/tests/test_views.py | 2 +- lms/djangoapps/teams/views.py | 2 +- lms/envs/common.py | 8 +++---- lms/envs/production.py | 2 +- .../lms_search_initializer.py | 4 ++-- .../test/test_lms_result_processor.py | 2 +- lms/templates/courseware/course_about.html | 2 +- .../courseware/course_navigation.html | 2 +- lms/templates/courseware/info.html | 2 +- lms/templates/courseware/syllabus.html | 2 +- lms/templates/enroll_staff.html | 2 +- .../cohort_management.html | 2 +- .../discussions_management.html | 2 +- lms/templates/video_modal.html | 2 +- lms/urls.py | 12 +++++----- .../content_libraries/tests/test_runtime.py | 2 +- .../core/djangoapps/course_groups/cohorts.py | 2 +- .../course_groups/partition_scheme.py | 2 +- .../tests/test_partition_scheme.py | 2 +- .../core/djangoapps/course_groups/views.py | 2 +- .../djangoapps/enrollments/permissions.py | 2 +- .../schedules/content_highlights.py | 4 ++-- .../commands/tests/send_email_base.py | 2 +- .../management/commands/tests/upsell_base.py | 2 +- .../core/djangoapps/schedules/resolvers.py | 2 +- openedx/core/djangoapps/schedules/signals.py | 2 +- .../schedules/tests/test_signals.py | 2 +- .../djangoapps/theming/tests/test_views.py | 2 +- .../partition_scheme.py | 2 +- .../core/djangoapps/xblock/runtime/runtime.py | 2 +- openedx/features/course_bookmarks/plugins.py | 2 +- .../views/course_bookmarks.py | 2 +- .../course_duration_limits/resolvers.py | 2 +- .../tests/test_access.py | 2 +- openedx/features/course_experience/plugins.py | 2 +- .../tests/views/test_course_home.py | 2 +- .../tests/views/test_course_outline.py | 2 +- .../tests/views/test_course_updates.py | 2 +- .../course_experience/views/course_dates.py | 2 +- .../course_experience/views/course_home.py | 4 ++-- .../views/course_home_messages.py | 2 +- .../course_experience/views/course_outline.py | 2 +- .../course_experience/views/course_reviews.py | 2 +- .../course_experience/views/course_sock.py | 2 +- .../course_experience/views/course_updates.py | 2 +- .../course_experience/views/latest_update.py | 2 +- .../views/welcome_message.py | 2 +- .../course_search/views/course_search.py | 2 +- openedx/tests/settings.py | 2 +- setup.py | 2 +- themes/edx.org/lms/templates/dashboard.html | 2 +- 220 files changed, 368 insertions(+), 354 deletions(-) diff --git a/cms/djangoapps/contentstore/management/commands/edit_course_tabs.py b/cms/djangoapps/contentstore/management/commands/edit_course_tabs.py index f59dd7bdba2..9cb787be5f9 100644 --- a/cms/djangoapps/contentstore/management/commands/edit_course_tabs.py +++ b/cms/djangoapps/contentstore/management/commands/edit_course_tabs.py @@ -12,7 +12,7 @@ from django.core.management.base import BaseCommand, CommandError from opaque_keys.edx.keys import CourseKey from contentstore.views import tabs -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from .prompt import query_yes_no diff --git a/cms/djangoapps/contentstore/tests/test_users_default_role.py b/cms/djangoapps/contentstore/tests/test_users_default_role.py index bcadfde5208..f4b613a4a0e 100644 --- a/cms/djangoapps/contentstore/tests/test_users_default_role.py +++ b/cms/djangoapps/contentstore/tests/test_users_default_role.py @@ -6,7 +6,7 @@ from __future__ import absolute_import from contentstore.tests.utils import AjaxEnabledTestClient from contentstore.utils import delete_course, reverse_url -from courseware.tests.factories import UserFactory +from lms.djangoapps.courseware.tests.factories import UserFactory from student.models import CourseEnrollment from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase diff --git a/cms/envs/common.py b/cms/envs/common.py index b2b7dcda2aa..8a7a81b3cac 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -1298,7 +1298,7 @@ INSTALLED_APPS = [ # by installed apps. 'openedx.core.djangoapps.oauth_dispatch.apps.OAuthDispatchAppConfig', 'oauth_provider', - 'courseware', + 'lms.djangoapps.courseware', 'coursewarehistoryextended', 'survey.apps.SurveyConfig', 'lms.djangoapps.verify_student.apps.VerifyStudentConfig', diff --git a/common/djangoapps/entitlements/api/v1/permissions.py b/common/djangoapps/entitlements/api/v1/permissions.py index 5fab2124523..66c41e55a57 100644 --- a/common/djangoapps/entitlements/api/v1/permissions.py +++ b/common/djangoapps/entitlements/api/v1/permissions.py @@ -7,7 +7,7 @@ from __future__ import absolute_import from rest_framework.permissions import SAFE_METHODS, BasePermission -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access class IsAdminOrSupportOrAuthenticatedReadOnly(BasePermission): diff --git a/common/djangoapps/entitlements/api/v1/tests/test_views.py b/common/djangoapps/entitlements/api/v1/tests/test_views.py index 3d6e28d087c..c0475d48ad2 100644 --- a/common/djangoapps/entitlements/api/v1/tests/test_views.py +++ b/common/djangoapps/entitlements/api/v1/tests/test_views.py @@ -14,7 +14,7 @@ from opaque_keys.edx.locator import CourseKey from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.models import DynamicUpgradeDeadlineConfiguration +from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory diff --git a/common/djangoapps/student/models.py b/common/djangoapps/student/models.py index 83a22d2d7e4..3b6bc4c5298 100644 --- a/common/djangoapps/student/models.py +++ b/common/djangoapps/student/models.py @@ -56,7 +56,7 @@ from slumber.exceptions import HttpClientError, HttpServerError from user_util import user_util from course_modes.models import CourseMode, get_cosmetic_verified_display_price -from courseware.models import ( +from lms.djangoapps.courseware.models import ( CourseDynamicUpgradeDeadlineConfiguration, DynamicUpgradeDeadlineConfiguration, OrgDynamicUpgradeDeadlineConfiguration diff --git a/common/djangoapps/student/tests/test_models.py b/common/djangoapps/student/tests/test_models.py index e3d83784fdc..ae597d92627 100644 --- a/common/djangoapps/student/tests/test_models.py +++ b/common/djangoapps/student/tests/test_models.py @@ -17,7 +17,7 @@ from opaque_keys.edx.keys import CourseKey from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.models import DynamicUpgradeDeadlineConfiguration +from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from openedx.core.djangoapps.schedules.models import Schedule from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory diff --git a/common/djangoapps/student/tests/test_roles.py b/common/djangoapps/student/tests/test_roles.py index f74d7d67b10..db029afc82b 100644 --- a/common/djangoapps/student/tests/test_roles.py +++ b/common/djangoapps/student/tests/test_roles.py @@ -8,7 +8,7 @@ import six from django.test import TestCase from opaque_keys.edx.keys import CourseKey -from courseware.tests.factories import InstructorFactory, StaffFactory, UserFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory, UserFactory from student.roles import ( CourseBetaTesterRole, CourseInstructorRole, diff --git a/common/djangoapps/student/views/dashboard.py b/common/djangoapps/student/views/dashboard.py index 47c921f352c..92bb26c3c4e 100644 --- a/common/djangoapps/student/views/dashboard.py +++ b/common/djangoapps/student/views/dashboard.py @@ -24,7 +24,7 @@ import track.views from bulk_email.api import is_bulk_email_feature_enabled from bulk_email.models import Optout # pylint: disable=import-error from course_modes.models import CourseMode -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access from edxmako.shortcuts import render_to_response, render_to_string from entitlements.models import CourseEntitlement from lms.djangoapps.commerce.utils import EcommerceService # pylint: disable=import-error diff --git a/common/djangoapps/student/views/management.py b/common/djangoapps/student/views/management.py index 692ade4a28e..711e766d9a3 100644 --- a/common/djangoapps/student/views/management.py +++ b/common/djangoapps/student/views/management.py @@ -46,7 +46,7 @@ from six import text_type import track.views from bulk_email.models import Optout from course_modes.models import CourseMode -from courseware.courses import get_courses, sort_by_announcement, sort_by_start_date +from lms.djangoapps.courseware.courses import get_courses, sort_by_announcement, sort_by_start_date from edxmako.shortcuts import marketing_link, render_to_response, render_to_string from entitlements.models import CourseEntitlement from openedx.core.djangoapps.ace_common.template_context import get_base_template_context diff --git a/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py b/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py index a3072f6d825..32952c9304b 100644 --- a/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py +++ b/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py @@ -17,7 +17,7 @@ from django.test.utils import override_settings from mock import patch from six.moves import range -from courseware.tests.factories import StaffFactory +from lms.djangoapps.courseware.tests.factories import StaffFactory from lms.djangoapps.courseware.field_overrides import OverrideFieldData # pylint: disable=import-error from openedx.core.djangolib.testing.utils import CacheIsolationMixin, CacheIsolationTestCase, FilteredQueryCountMixin from openedx.core.lib.tempdir import mkdtemp_clean diff --git a/lms/djangoapps/branding/tests/test_page.py b/lms/djangoapps/branding/tests/test_page.py index 693ee071bff..7cbda47029e 100644 --- a/lms/djangoapps/branding/tests/test_page.py +++ b/lms/djangoapps/branding/tests/test_page.py @@ -17,7 +17,7 @@ from mock import Mock, patch from pytz import UTC from branding.views import index -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from edxmako.shortcuts import render_to_response from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin from util.milestones_helpers import set_prerequisite_courses diff --git a/lms/djangoapps/branding/views.py b/lms/djangoapps/branding/views.py index 59bcec7dc27..5d262ae0df2 100644 --- a/lms/djangoapps/branding/views.py +++ b/lms/djangoapps/branding/views.py @@ -17,7 +17,7 @@ from django.views.decorators.cache import cache_control from django.views.decorators.csrf import ensure_csrf_cookie import branding.api as branding_api -import courseware.views.views +import lms.djangoapps.courseware.views.views as courseware_views import student.views from edxmako.shortcuts import marketing_link, render_to_response from openedx.core.djangoapps.lang_pref.api import released_languages @@ -90,7 +90,7 @@ def courses(request): # we do not expect this case to be reached in cases where # marketing is enabled or the courses are not browsable - return courseware.views.views.courses(request) + return courseware_views.courses(request) def _footer_static_url(request, name): diff --git a/lms/djangoapps/bulk_email/tasks.py b/lms/djangoapps/bulk_email/tasks.py index 106d600797d..4a512fd9091 100644 --- a/lms/djangoapps/bulk_email/tasks.py +++ b/lms/djangoapps/bulk_email/tasks.py @@ -41,7 +41,7 @@ from markupsafe import escape from six import text_type from bulk_email.models import CourseEmail, Optout -from courseware.courses import get_course +from lms.djangoapps.courseware.courses import get_course from lms.djangoapps.instructor_task.models import InstructorTask from lms.djangoapps.instructor_task.subtasks import ( SubtaskStatus, diff --git a/lms/djangoapps/bulk_email/tests/test_email.py b/lms/djangoapps/bulk_email/tests/test_email.py index 67d50b398c6..a6b526dbfd3 100644 --- a/lms/djangoapps/bulk_email/tests/test_email.py +++ b/lms/djangoapps/bulk_email/tests/test_email.py @@ -24,7 +24,7 @@ from mock import Mock, patch from bulk_email.models import BulkEmailFlag, Optout from bulk_email.tasks import _get_course_email_context, _get_source_address from course_modes.models import CourseMode -from courseware.tests.factories import InstructorFactory, StaffFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory from lms.djangoapps.instructor_task.subtasks import update_subtask_status from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort from openedx.core.djangoapps.course_groups.models import CourseCohort diff --git a/lms/djangoapps/bulk_enroll/tests/test_views.py b/lms/djangoapps/bulk_enroll/tests/test_views.py index 3b9ee7ee1b2..d55dd81353c 100644 --- a/lms/djangoapps/bulk_enroll/tests/test_views.py +++ b/lms/djangoapps/bulk_enroll/tests/test_views.py @@ -17,7 +17,7 @@ from rest_framework.test import APIRequestFactory, APITestCase, force_authentica from bulk_enroll.serializers import BulkEnrollmentSerializer from bulk_enroll.views import BulkEnrollView -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from openedx.core.djangoapps.course_groups.cohorts import get_cohort_id from openedx.core.djangoapps.course_groups.tests.helpers import config_course_cohorts from openedx.core.djangoapps.site_configuration.helpers import get_value as get_site_value diff --git a/lms/djangoapps/ccx/api/v0/tests/test_views.py b/lms/djangoapps/ccx/api/v0/tests/test_views.py index df8f1aa4096..144186a07a0 100644 --- a/lms/djangoapps/ccx/api/v0/tests/test_views.py +++ b/lms/djangoapps/ccx/api/v0/tests/test_views.py @@ -27,7 +27,7 @@ from rest_framework import status from rest_framework.test import APITestCase from six.moves import range, zip -from courseware import courses +from lms.djangoapps.courseware import courses 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 diff --git a/lms/djangoapps/ccx/api/v0/views.py b/lms/djangoapps/ccx/api/v0/views.py index 2549be8ce7e..f46e100312e 100644 --- a/lms/djangoapps/ccx/api/v0/views.py +++ b/lms/djangoapps/ccx/api/v0/views.py @@ -21,7 +21,7 @@ from rest_framework.generics import GenericAPIView from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response -from courseware import courses +from lms.djangoapps.courseware import courses from lms.djangoapps.ccx.models import CcxFieldOverride, CustomCourseForEdX 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 diff --git a/lms/djangoapps/ccx/migrations/0003_add_master_course_staff_in_ccx.py b/lms/djangoapps/ccx/migrations/0003_add_master_course_staff_in_ccx.py index 46da286f64f..a68b3161902 100644 --- a/lms/djangoapps/ccx/migrations/0003_add_master_course_staff_in_ccx.py +++ b/lms/djangoapps/ccx/migrations/0003_add_master_course_staff_in_ccx.py @@ -8,7 +8,7 @@ from ccx_keys.locator import CCXLocator from django.db import migrations from django.http import Http404 -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from lms.djangoapps.ccx.utils import add_master_course_staff_to_ccx, remove_master_course_staff_from_ccx log = logging.getLogger("edx.ccx") @@ -83,7 +83,7 @@ class Migration(migrations.Migration): ('ccx', '0001_initial'), ('ccx', '0002_customcourseforedx_structure_json'), ('course_overviews','0010_auto_20160329_2317'), # because we use course overview and are in the same release as that table is modified - ('verified_track_content','0001_initial'), # because we use enrollement code and are in the same release as an enrollement related table is created + ('verified_track_content','0001_initial'), # because we use enrollement code and are in the same release as an enrollement related table is created ] operations = [ diff --git a/lms/djangoapps/ccx/migrations/0004_seed_forum_roles_in_ccx_courses.py b/lms/djangoapps/ccx/migrations/0004_seed_forum_roles_in_ccx_courses.py index c67e28ee51d..726b23da544 100644 --- a/lms/djangoapps/ccx/migrations/0004_seed_forum_roles_in_ccx_courses.py +++ b/lms/djangoapps/ccx/migrations/0004_seed_forum_roles_in_ccx_courses.py @@ -8,7 +8,7 @@ from ccx_keys.locator import CCXLocator from django.db import migrations from django.http import Http404 -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from openedx.core.djangoapps.django_comment_common.models import ( FORUM_ROLE_ADMINISTRATOR, FORUM_ROLE_COMMUNITY_TA, diff --git a/lms/djangoapps/ccx/migrations/0005_change_ccx_coach_to_staff.py b/lms/djangoapps/ccx/migrations/0005_change_ccx_coach_to_staff.py index a42d0f0119d..f81e52d0447 100644 --- a/lms/djangoapps/ccx/migrations/0005_change_ccx_coach_to_staff.py +++ b/lms/djangoapps/ccx/migrations/0005_change_ccx_coach_to_staff.py @@ -9,7 +9,7 @@ from django.contrib.auth.models import User from django.db import migrations from django.http import Http404 -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from lms.djangoapps.instructor.access import allow_access, revoke_access log = logging.getLogger("edx.ccx") diff --git a/lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py b/lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py index 4fd5d62fdfb..28265dd498e 100644 --- a/lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py +++ b/lms/djangoapps/ccx/migrations/0006_set_display_name_as_override.py @@ -9,7 +9,7 @@ from ccx_keys.locator import CCXLocator from django.db import migrations from django.http import Http404 -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id log = logging.getLogger(__name__) diff --git a/lms/djangoapps/ccx/permissions.py b/lms/djangoapps/ccx/permissions.py index 252078a089e..ba36b3cdb26 100644 --- a/lms/djangoapps/ccx/permissions.py +++ b/lms/djangoapps/ccx/permissions.py @@ -3,7 +3,7 @@ Permission definitions for the ccx djangoapp """ from bridgekeeper import perms -from courseware.rules import HasAccessRule +from lms.djangoapps.courseware.rules import HasAccessRule VIEW_CCX_COACH_DASHBOARD = 'ccx.view_ccx_coach_dashboard' perms[VIEW_CCX_COACH_DASHBOARD] = HasAccessRule('staff') diff --git a/lms/djangoapps/ccx/plugins.py b/lms/djangoapps/ccx/plugins.py index 5520743f2ff..a0b5d67b94d 100644 --- a/lms/djangoapps/ccx/plugins.py +++ b/lms/djangoapps/ccx/plugins.py @@ -7,7 +7,6 @@ from __future__ import absolute_import from django.conf import settings from django.utils.translation import ugettext_noop -from courseware.access import has_access from student.roles import CourseCcxCoachRole from xmodule.tabs import CourseTab diff --git a/lms/djangoapps/ccx/tests/test_field_override_performance.py b/lms/djangoapps/ccx/tests/test_field_override_performance.py index c8303a41522..a9a6f5f707f 100644 --- a/lms/djangoapps/ccx/tests/test_field_override_performance.py +++ b/lms/djangoapps/ccx/tests/test_field_override_performance.py @@ -23,8 +23,8 @@ from opaque_keys.edx.keys import CourseKey from pytz import UTC from xblock.core import XBlock -from courseware.testutils import FieldOverrideTestMixin -from courseware.views.views import progress +from lms.djangoapps.courseware.testutils import FieldOverrideTestMixin +from lms.djangoapps.courseware.views.views import progress from lms.djangoapps.ccx.tests.factories import CcxFactory from lms.djangoapps.courseware.field_overrides import OverrideFieldData from openedx.core.djangoapps.content.block_structure.api import get_course_in_cache diff --git a/lms/djangoapps/ccx/tests/test_overrides.py b/lms/djangoapps/ccx/tests/test_overrides.py index a3132dd220d..bb76abc23fd 100644 --- a/lms/djangoapps/ccx/tests/test_overrides.py +++ b/lms/djangoapps/ccx/tests/test_overrides.py @@ -13,8 +13,8 @@ from django.test.utils import override_settings from edx_django_utils.cache import RequestCache from six.moves import range -from courseware.courses import get_course_by_id -from courseware.testutils import FieldOverrideTestMixin +from lms.djangoapps.courseware.courses import get_course_by_id +from lms.djangoapps.courseware.testutils import FieldOverrideTestMixin 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 diff --git a/lms/djangoapps/ccx/tests/test_views.py b/lms/djangoapps/ccx/tests/test_views.py index 347fd893421..9633f6351bb 100644 --- a/lms/djangoapps/ccx/tests/test_views.py +++ b/lms/djangoapps/ccx/tests/test_views.py @@ -23,11 +23,11 @@ from opaque_keys.edx.keys import CourseKey from pytz import UTC 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.testutils import FieldOverrideTestMixin +from lms.djangoapps.courseware.courses import get_course_by_id +from lms.djangoapps.courseware.tabs import get_course_tab_list +from lms.djangoapps.courseware.tests.factories import StudentModuleFactory +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.testutils import FieldOverrideTestMixin from edxmako.shortcuts import render_to_response from lms.djangoapps.ccx.models import CustomCourseForEdX from lms.djangoapps.ccx.overrides import get_override_for_ccx, override_field_for_ccx diff --git a/lms/djangoapps/ccx/utils.py b/lms/djangoapps/ccx/utils.py index 91f55b18f43..2984dd98af1 100644 --- a/lms/djangoapps/ccx/utils.py +++ b/lms/djangoapps/ccx/utils.py @@ -18,7 +18,7 @@ from django.urls import reverse from django.utils.translation import ugettext as _ from six.moves import map -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id 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 diff --git a/lms/djangoapps/ccx/views.py b/lms/djangoapps/ccx/views.py index fdd77e9708c..df81662e1d4 100644 --- a/lms/djangoapps/ccx/views.py +++ b/lms/djangoapps/ccx/views.py @@ -26,8 +26,7 @@ from django.views.decorators.cache import cache_control from django.views.decorators.csrf import ensure_csrf_cookie from opaque_keys.edx.keys import CourseKey -from courseware.access import has_access -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from edxmako.shortcuts import render_to_response from lms.djangoapps.ccx.models import CustomCourseForEdX from lms.djangoapps.ccx.overrides import ( diff --git a/lms/djangoapps/certificates/tests/test_api.py b/lms/djangoapps/certificates/tests/test_api.py index 8bcf21287a9..f27c767a26f 100644 --- a/lms/djangoapps/certificates/tests/test_api.py +++ b/lms/djangoapps/certificates/tests/test_api.py @@ -21,7 +21,7 @@ from opaque_keys.edx.locator import CourseLocator from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.tests.factories import GlobalStaffFactory +from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory from lms.djangoapps.certificates import api as certs_api from lms.djangoapps.certificates.models import ( CertificateGenerationConfiguration, diff --git a/lms/djangoapps/certificates/views/support.py b/lms/djangoapps/certificates/views/support.py index b7b11c2a1ec..0dc75e158dd 100644 --- a/lms/djangoapps/certificates/views/support.py +++ b/lms/djangoapps/certificates/views/support.py @@ -22,7 +22,7 @@ from django.views.decorators.http import require_GET, require_POST from opaque_keys import InvalidKeyError from opaque_keys.edx.keys import CourseKey -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access from lms.djangoapps.certificates import api from lms.djangoapps.certificates.models import CertificateInvalidation from lms.djangoapps.instructor_task.api import generate_certificates_for_students diff --git a/lms/djangoapps/certificates/views/webview.py b/lms/djangoapps/certificates/views/webview.py index de46716523c..fd6f23eec7c 100644 --- a/lms/djangoapps/certificates/views/webview.py +++ b/lms/djangoapps/certificates/views/webview.py @@ -25,8 +25,7 @@ from opaque_keys.edx.keys import CourseKey from badges.events.course_complete import get_completion_badge from badges.utils import badges_enabled -from courseware.access import has_access -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from edxmako.shortcuts import render_to_response from edxmako.template import Template from lms.djangoapps.certificates.api import ( diff --git a/lms/djangoapps/class_dashboard/dashboard_data.py b/lms/djangoapps/class_dashboard/dashboard_data.py index ede9d871700..a53007b2cc7 100644 --- a/lms/djangoapps/class_dashboard/dashboard_data.py +++ b/lms/djangoapps/class_dashboard/dashboard_data.py @@ -11,7 +11,7 @@ from django.utils.translation import ugettext as _ from opaque_keys.edx.locator import BlockUsageLocator from six import text_type -from courseware import models +from lms.djangoapps.courseware import models from lms.djangoapps.instructor_analytics.csvs import create_csv_response from util.json_request import JsonResponse from xmodule.modulestore.django import modulestore diff --git a/lms/djangoapps/class_dashboard/tests/test_dashboard_data.py b/lms/djangoapps/class_dashboard/tests/test_dashboard_data.py index 18ab6f83b54..9becffc0f47 100644 --- a/lms/djangoapps/class_dashboard/tests/test_dashboard_data.py +++ b/lms/djangoapps/class_dashboard/tests/test_dashboard_data.py @@ -26,7 +26,7 @@ from class_dashboard.dashboard_data import ( get_students_problem_grades ) from class_dashboard.views import has_instructor_access_for_class -from courseware.tests.factories import StudentModuleFactory +from lms.djangoapps.courseware.tests.factories import StudentModuleFactory from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory diff --git a/lms/djangoapps/class_dashboard/views.py b/lms/djangoapps/class_dashboard/views.py index 33cf3754144..3c21bedb214 100644 --- a/lms/djangoapps/class_dashboard/views.py +++ b/lms/djangoapps/class_dashboard/views.py @@ -11,8 +11,8 @@ from django.http import HttpResponse from opaque_keys.edx.keys import CourseKey from class_dashboard import dashboard_data -from courseware.access import has_access -from courseware.courses import get_course_overview_with_access +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_course_overview_with_access log = logging.getLogger(__name__) diff --git a/lms/djangoapps/commerce/api/v0/views.py b/lms/djangoapps/commerce/api/v0/views.py index 5fef2900cac..31ce66630a6 100644 --- a/lms/djangoapps/commerce/api/v0/views.py +++ b/lms/djangoapps/commerce/api/v0/views.py @@ -16,7 +16,7 @@ from rest_framework.views import APIView from six import text_type from course_modes.models import CourseMode -from courseware import courses +from lms.djangoapps.courseware import courses from entitlements.models import CourseEntitlement from openedx.core.djangoapps.commerce.utils import ecommerce_api_client from openedx.core.djangoapps.embargo import api as embargo_api diff --git a/lms/djangoapps/course_api/blocks/permissions.py b/lms/djangoapps/course_api/blocks/permissions.py index b8320cf8ed9..2951fc3679f 100644 --- a/lms/djangoapps/course_api/blocks/permissions.py +++ b/lms/djangoapps/course_api/blocks/permissions.py @@ -4,7 +4,7 @@ Encapsulates permissions checks for Course Blocks API from __future__ import absolute_import -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access from student.models import CourseEnrollment from student.roles import CourseStaffRole diff --git a/lms/djangoapps/course_blocks/transformers/library_content.py b/lms/djangoapps/course_blocks/transformers/library_content.py index 4f782c317af..6cbaa9ad39f 100644 --- a/lms/djangoapps/course_blocks/transformers/library_content.py +++ b/lms/djangoapps/course_blocks/transformers/library_content.py @@ -8,7 +8,7 @@ import json import six from eventtracking import tracker -from courseware.models import StudentModule +from lms.djangoapps.courseware.models import StudentModule from openedx.core.djangoapps.content.block_structure.transformer import ( BlockStructureTransformer, FilteringTransformerMixin diff --git a/lms/djangoapps/course_blocks/transformers/load_override_data.py b/lms/djangoapps/course_blocks/transformers/load_override_data.py index f3219583945..468f7d2b048 100644 --- a/lms/djangoapps/course_blocks/transformers/load_override_data.py +++ b/lms/djangoapps/course_blocks/transformers/load_override_data.py @@ -5,7 +5,7 @@ from __future__ import absolute_import import json -from courseware.models import StudentFieldOverride +from lms.djangoapps.courseware.models import StudentFieldOverride from openedx.core.djangoapps.content.block_structure.transformer import BlockStructureTransformer # The list of fields are in support of Individual due dates and could be expanded for other use cases. diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_start_date.py b/lms/djangoapps/course_blocks/transformers/tests/test_start_date.py index 5558a72dbd5..9454f8a3d8f 100644 --- a/lms/djangoapps/course_blocks/transformers/tests/test_start_date.py +++ b/lms/djangoapps/course_blocks/transformers/tests/test_start_date.py @@ -10,7 +10,7 @@ import six from django.utils.timezone import now from mock import patch -from courseware.tests.factories import BetaTesterFactory +from lms.djangoapps.courseware.tests.factories import BetaTesterFactory from ..start_date import DEFAULT_START_DATE, StartDateTransformer from .helpers import BlockParentsMapTestCase, update_block diff --git a/lms/djangoapps/course_blocks/utils.py b/lms/djangoapps/course_blocks/utils.py index 66c7b62ca34..6f2e5e87e0b 100644 --- a/lms/djangoapps/course_blocks/utils.py +++ b/lms/djangoapps/course_blocks/utils.py @@ -5,7 +5,7 @@ from __future__ import absolute_import import json -from courseware.models import StudentModule +from lms.djangoapps.courseware.models import StudentModule def get_student_module_as_dict(user, course_key, block_key): diff --git a/lms/djangoapps/course_wiki/middleware.py b/lms/djangoapps/course_wiki/middleware.py index 15bb7354316..7903b25f204 100644 --- a/lms/djangoapps/course_wiki/middleware.py +++ b/lms/djangoapps/course_wiki/middleware.py @@ -9,8 +9,8 @@ from six import text_type from six.moves.urllib.parse import urlparse # pylint: disable=import-error from wiki.models import reverse -from courseware.access import has_access -from courseware.courses import get_course_overview_with_access, get_course_with_access +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_course_overview_with_access, get_course_with_access from openedx.core.lib.request_utils import course_id_from_url from openedx.features.enterprise_support.api import get_enterprise_consent_url from student.models import CourseEnrollment diff --git a/lms/djangoapps/course_wiki/tab.py b/lms/djangoapps/course_wiki/tab.py index a40944b1824..f39c9ed3ead 100644 --- a/lms/djangoapps/course_wiki/tab.py +++ b/lms/djangoapps/course_wiki/tab.py @@ -8,7 +8,7 @@ from __future__ import absolute_import from django.conf import settings from django.utils.translation import ugettext_noop -from courseware.tabs import EnrolledTab +from lms.djangoapps.courseware.tabs import EnrolledTab class WikiTab(EnrolledTab): diff --git a/lms/djangoapps/course_wiki/tests/test_access.py b/lms/djangoapps/course_wiki/tests/test_access.py index b4e653ec2d5..ff7ec85037b 100644 --- a/lms/djangoapps/course_wiki/tests/test_access.py +++ b/lms/djangoapps/course_wiki/tests/test_access.py @@ -9,7 +9,7 @@ from django.contrib.auth.models import Group from course_wiki import settings from course_wiki.utils import course_wiki_slug, user_is_article_course_staff from course_wiki.views import get_or_create_root -from courseware.tests.factories import InstructorFactory, StaffFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory from student.tests.factories import UserFactory from wiki.models import URLPath from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase diff --git a/lms/djangoapps/course_wiki/tests/test_comprehensive_theming.py b/lms/djangoapps/course_wiki/tests/test_comprehensive_theming.py index 110927008ef..5519cb9593f 100644 --- a/lms/djangoapps/course_wiki/tests/test_comprehensive_theming.py +++ b/lms/djangoapps/course_wiki/tests/test_comprehensive_theming.py @@ -8,7 +8,7 @@ from unittest import skip from django.test.client import Client from course_wiki.views import get_or_create_root -from courseware.tests.factories import InstructorFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme from wiki.models import URLPath from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase diff --git a/lms/djangoapps/course_wiki/tests/test_middleware.py b/lms/djangoapps/course_wiki/tests/test_middleware.py index e6e19db5a98..687987e3a15 100644 --- a/lms/djangoapps/course_wiki/tests/test_middleware.py +++ b/lms/djangoapps/course_wiki/tests/test_middleware.py @@ -7,7 +7,7 @@ from __future__ import absolute_import from django.test.client import Client from course_wiki.views import get_or_create_root -from courseware.tests.factories import InstructorFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory from wiki.models import URLPath from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory diff --git a/lms/djangoapps/course_wiki/tests/test_tab.py b/lms/djangoapps/course_wiki/tests/test_tab.py index aa6eb350663..4a31d505c00 100644 --- a/lms/djangoapps/course_wiki/tests/test_tab.py +++ b/lms/djangoapps/course_wiki/tests/test_tab.py @@ -7,7 +7,7 @@ from __future__ import absolute_import from django.conf import settings from django.test.client import RequestFactory -from courseware.tabs import get_course_tab_list +from lms.djangoapps.courseware.tabs import get_course_tab_list from student.tests.factories import AdminFactory, UserFactory from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory diff --git a/lms/djangoapps/course_wiki/tests/tests.py b/lms/djangoapps/course_wiki/tests/tests.py index 23f7c97123d..ba57e91cf27 100644 --- a/lms/djangoapps/course_wiki/tests/tests.py +++ b/lms/djangoapps/course_wiki/tests/tests.py @@ -9,7 +9,7 @@ from django.urls import reverse from mock import patch from six import text_type -from courseware.tests.tests import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.tests import LoginEnrollmentTestCase from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseTestConsentRequired from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory diff --git a/lms/djangoapps/course_wiki/utils.py b/lms/djangoapps/course_wiki/utils.py index fd615520a58..1457456c555 100644 --- a/lms/djangoapps/course_wiki/utils.py +++ b/lms/djangoapps/course_wiki/utils.py @@ -6,7 +6,7 @@ from __future__ import absolute_import from django.core.exceptions import ObjectDoesNotExist -import courseware +import lms.djangoapps.courseware from xmodule import modulestore @@ -47,7 +47,7 @@ def _has_wiki_staff_access(user, wiki_slug, modstore): for course_key in course_keys: course = modstore.get_course(course_key) - if courseware.access.has_access(user, 'staff', course, course_key): + if lms.djangoapps.courseware.access.has_access(user, 'staff', course, course_key): return True return False diff --git a/lms/djangoapps/course_wiki/views.py b/lms/djangoapps/course_wiki/views.py index acf926eaffe..8c07c41b251 100644 --- a/lms/djangoapps/course_wiki/views.py +++ b/lms/djangoapps/course_wiki/views.py @@ -14,7 +14,7 @@ from wiki.core.exceptions import NoRootURL from wiki.models import Article, URLPath from course_wiki.utils import course_wiki_slug -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers from openedx.core.djangolib.markup import Text from openedx.features.enterprise_support.api import data_sharing_consent_required diff --git a/lms/djangoapps/courseware/access.py b/lms/djangoapps/courseware/access.py index a34b86df65f..d19cc9f6476 100644 --- a/lms/djangoapps/courseware/access.py +++ b/lms/djangoapps/courseware/access.py @@ -23,14 +23,14 @@ from pytz import UTC from six import text_type from xblock.core import XBlock -from courseware.access_response import ( +from lms.djangoapps.courseware.access_response import ( IncorrectPartitionGroupError, MilestoneAccessError, MobileAvailabilityError, NoAllowedPartitionGroupsError, VisibilityError ) -from courseware.access_utils import ( +from lms.djangoapps.courseware.access_utils import ( ACCESS_DENIED, ACCESS_GRANTED, adjust_start_date, @@ -39,7 +39,7 @@ from courseware.access_utils import ( debug, in_preview_mode ) -from courseware.masquerade import get_masquerade_role, is_masquerading_as_student +from lms.djangoapps.courseware.masquerade import get_masquerade_role, is_masquerading_as_student from lms.djangoapps.ccx.custom_exception import CCXLocatorValidationException from lms.djangoapps.ccx.models import CustomCourseForEdX from mobile_api.models import IgnoreMobileAvailableFlagConfig diff --git a/lms/djangoapps/courseware/access_utils.py b/lms/djangoapps/courseware/access_utils.py index f434d6fcaa7..d6ad23932de 100644 --- a/lms/djangoapps/courseware/access_utils.py +++ b/lms/djangoapps/courseware/access_utils.py @@ -12,8 +12,8 @@ from django.conf import settings from django.utils.translation import ugettext as _ from pytz import UTC -from courseware.access_response import AccessResponse, StartDateError -from courseware.masquerade import get_course_masquerade, is_masquerading_as_student +from lms.djangoapps.courseware.access_response import AccessResponse, StartDateError +from lms.djangoapps.courseware.masquerade import get_course_masquerade, is_masquerading_as_student from openedx.core.djangoapps.util.user_messages import PageLevelMessages from openedx.core.djangolib.markup import HTML from openedx.features.course_experience import COURSE_PRE_START_ACCESS_FLAG diff --git a/lms/djangoapps/courseware/admin.py b/lms/djangoapps/courseware/admin.py index 57fa242a69e..c32fa80dd77 100644 --- a/lms/djangoapps/courseware/admin.py +++ b/lms/djangoapps/courseware/admin.py @@ -6,7 +6,7 @@ from __future__ import absolute_import from config_models.admin import ConfigurationModelAdmin, KeyedConfigurationModelAdmin from django.contrib import admin -from courseware import models +from lms.djangoapps.courseware import models admin.site.register(models.DynamicUpgradeDeadlineConfiguration, ConfigurationModelAdmin) admin.site.register(models.OfflineComputedGrade) diff --git a/lms/djangoapps/courseware/course_tools.py b/lms/djangoapps/courseware/course_tools.py index 9d7d7fd2901..5c4b85dfb76 100644 --- a/lms/djangoapps/courseware/course_tools.py +++ b/lms/djangoapps/courseware/course_tools.py @@ -11,7 +11,7 @@ from crum import get_current_request from django.utils.translation import ugettext as _ from course_modes.models import CourseMode -from courseware.date_summary import verified_upgrade_deadline_link +from lms.djangoapps.courseware.date_summary import verified_upgrade_deadline_link from openedx.features.course_experience.course_tools import CourseTool from student.models import CourseEnrollment diff --git a/lms/djangoapps/courseware/courses.py b/lms/djangoapps/courseware/courses.py index 506a4b6f4c8..cb6e786eb00 100644 --- a/lms/djangoapps/courseware/courses.py +++ b/lms/djangoapps/courseware/courses.py @@ -22,9 +22,9 @@ from six import text_type import branding from course_modes.models import CourseMode -from courseware.access import has_access -from courseware.access_response import MilestoneAccessError, StartDateError -from courseware.date_summary import ( +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.access_response import MilestoneAccessError, StartDateError +from lms.djangoapps.courseware.date_summary import ( CertificateAvailableDate, CourseEndDate, CourseStartDate, @@ -32,9 +32,9 @@ from courseware.date_summary import ( VerificationDeadlineDate, VerifiedUpgradeDeadlineDate ) -from courseware.masquerade import check_content_start_date_for_masquerade_user -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module +from lms.djangoapps.courseware.masquerade import check_content_start_date_for_masquerade_user +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module from edxmako.shortcuts import render_to_string from lms.djangoapps.certificates import api as certs_api from lms.djangoapps.courseware.courseware_access_exception import CoursewareAccessException diff --git a/lms/djangoapps/courseware/entrance_exams.py b/lms/djangoapps/courseware/entrance_exams.py index 5427e00af50..8c51c53d68c 100644 --- a/lms/djangoapps/courseware/entrance_exams.py +++ b/lms/djangoapps/courseware/entrance_exams.py @@ -6,7 +6,7 @@ from __future__ import absolute_import from opaque_keys.edx.keys import UsageKey -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access from student.models import EntranceExamConfiguration from util.milestones_helpers import get_required_content, is_entrance_exams_enabled from xmodule.modulestore.django import modulestore diff --git a/lms/djangoapps/courseware/migrations/0005_orgdynamicupgradedeadlineconfiguration.py b/lms/djangoapps/courseware/migrations/0005_orgdynamicupgradedeadlineconfiguration.py index 43dbdff62de..48872de823b 100644 --- a/lms/djangoapps/courseware/migrations/0005_orgdynamicupgradedeadlineconfiguration.py +++ b/lms/djangoapps/courseware/migrations/0005_orgdynamicupgradedeadlineconfiguration.py @@ -5,7 +5,7 @@ import django.db.models.deletion from django.conf import settings from django.db import migrations, models -import courseware.models +import lms.djangoapps.courseware.models class Migration(migrations.Migration): @@ -31,7 +31,7 @@ class Migration(migrations.Migration): 'ordering': ('-change_date',), 'abstract': False, }, - bases=(courseware.models.OptOutDynamicUpgradeDeadlineMixin, models.Model), + bases=(lms.djangoapps.courseware.models.OptOutDynamicUpgradeDeadlineMixin, models.Model), ), migrations.AlterModelOptions( name='coursedynamicupgradedeadlineconfiguration', diff --git a/lms/djangoapps/courseware/migrations/0011_csm_id_bigint.py b/lms/djangoapps/courseware/migrations/0011_csm_id_bigint.py index 54ab08f77ee..6a7d6572f4f 100644 --- a/lms/djangoapps/courseware/migrations/0011_csm_id_bigint.py +++ b/lms/djangoapps/courseware/migrations/0011_csm_id_bigint.py @@ -2,7 +2,8 @@ # Generated by Django 1.11.23 on 2019-08-28 15:50 from __future__ import unicode_literals -import courseware.fields +import lms.djangoapps.courseware.fields + from django.conf import settings from django.db import migrations from django.db.migrations import AlterField @@ -36,6 +37,6 @@ class Migration(migrations.Migration): CsmBigInt( model_name='studentmodule', name='id', - field=courseware.fields.UnsignedBigIntAutoField(primary_key=True, serialize=False), + field=lms.djangoapps.courseware.fields.UnsignedBigIntAutoField(primary_key=True, serialize=False), ) ] diff --git a/lms/djangoapps/courseware/model_data.py b/lms/djangoapps/courseware/model_data.py index 7c8c092c676..1fcf5468e5d 100644 --- a/lms/djangoapps/courseware/model_data.py +++ b/lms/djangoapps/courseware/model_data.py @@ -39,7 +39,7 @@ from xblock.exceptions import InvalidScopeError, KeyValueMultiSaveError from xblock.fields import Scope, UserScope from xblock.runtime import KeyValueStore -from courseware.user_state_client import DjangoXBlockUserStateClient +from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateClient from xmodule.modulestore.django import modulestore from .models import StudentModule, XModuleStudentInfoField, XModuleStudentPrefsField, XModuleUserStateSummaryField diff --git a/lms/djangoapps/courseware/models.py b/lms/djangoapps/courseware/models.py index 0dfa1b892e5..84838b61d1e 100644 --- a/lms/djangoapps/courseware/models.py +++ b/lms/djangoapps/courseware/models.py @@ -27,7 +27,7 @@ from django.utils.encoding import python_2_unicode_compatible from django.utils.translation import ugettext_lazy as _ from model_utils.models import TimeStampedModel from opaque_keys.edx.django.models import BlockTypeKeyField, CourseKeyField, LearningContextKeyField, UsageKeyField -from courseware.fields import UnsignedBigIntAutoField +from lms.djangoapps.courseware.fields import UnsignedBigIntAutoField from six import text_type from six.moves import range @@ -447,6 +447,9 @@ class CourseDynamicUpgradeDeadlineConfiguration(OptOutDynamicUpgradeDeadlineMixi .. no_pii: """ + class Meta(object): + app_label = "courseware" + KEY_FIELDS = ('course_id',) course_id = CourseKeyField(max_length=255, db_index=True) @@ -471,6 +474,9 @@ class OrgDynamicUpgradeDeadlineConfiguration(OptOutDynamicUpgradeDeadlineMixin, .. no_pii: """ + class Meta(object): + app_label = "courseware" + KEY_FIELDS = ('org_id',) org_id = models.CharField(max_length=255, db_index=True) diff --git a/lms/djangoapps/courseware/module_render.py b/lms/djangoapps/courseware/module_render.py index 84a9f60cc30..43c5ae8fc01 100644 --- a/lms/djangoapps/courseware/module_render.py +++ b/lms/djangoapps/courseware/module_render.py @@ -46,15 +46,15 @@ from xblock.runtime import KvsFieldData import static_replace from capa.xqueue_interface import XQueueInterface -from courseware.access import get_user_role, has_access -from courseware.entrance_exams import user_can_skip_entrance_exam, user_has_passed_entrance_exam -from courseware.masquerade import ( +from lms.djangoapps.courseware.access import get_user_role, has_access +from lms.djangoapps.courseware.entrance_exams import user_can_skip_entrance_exam, user_has_passed_entrance_exam +from lms.djangoapps.courseware.masquerade import ( MasqueradingKeyValueStore, filter_displayed_blocks, is_masquerading_as_specific_student, setup_masquerade ) -from courseware.model_data import DjangoKeyValueStore, FieldDataCache +from lms.djangoapps.courseware.model_data import DjangoKeyValueStore, FieldDataCache from edxmako.shortcuts import render_to_string from lms.djangoapps.courseware.field_overrides import OverrideFieldData from lms.djangoapps.grades.api import GradesUtilService diff --git a/lms/djangoapps/courseware/student_field_overrides.py b/lms/djangoapps/courseware/student_field_overrides.py index 40c938477a3..7b20e772c6f 100644 --- a/lms/djangoapps/courseware/student_field_overrides.py +++ b/lms/djangoapps/courseware/student_field_overrides.py @@ -6,7 +6,7 @@ from __future__ import absolute_import import json -from courseware.models import StudentFieldOverride +from lms.djangoapps.courseware.models import StudentFieldOverride from openedx.core.lib.xblock_utils import is_xblock_aside from .field_overrides import FieldOverrideProvider diff --git a/lms/djangoapps/courseware/tabs.py b/lms/djangoapps/courseware/tabs.py index c8a8f86192d..bf7869011d3 100644 --- a/lms/djangoapps/courseware/tabs.py +++ b/lms/djangoapps/courseware/tabs.py @@ -9,8 +9,8 @@ from django.conf import settings from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_noop -from courseware.access import has_access -from courseware.entrance_exams import user_can_skip_entrance_exam +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.entrance_exams import user_can_skip_entrance_exam from openedx.core.lib.course_tabs import CourseTabPluginManager from openedx.features.course_experience import UNIFIED_COURSE_TAB_FLAG, default_course_url_name from student.models import CourseEnrollment diff --git a/lms/djangoapps/courseware/tests/factories.py b/lms/djangoapps/courseware/tests/factories.py index 171f564701f..76e7d8e7857 100644 --- a/lms/djangoapps/courseware/tests/factories.py +++ b/lms/djangoapps/courseware/tests/factories.py @@ -11,7 +11,7 @@ from factory.django import DjangoModelFactory from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.locator import CourseLocator -from courseware.models import ( +from lms.djangoapps.courseware.models import ( StudentModule, XModuleStudentInfoField, XModuleStudentPrefsField, diff --git a/lms/djangoapps/courseware/tests/helpers.py b/lms/djangoapps/courseware/tests/helpers.py index 19241f16da8..e1aab364d4f 100644 --- a/lms/djangoapps/courseware/tests/helpers.py +++ b/lms/djangoapps/courseware/tests/helpers.py @@ -17,8 +17,8 @@ from six import text_type from six.moves import range from xblock.field_data import DictFieldData -from courseware.access import has_access -from courseware.masquerade import handle_ajax, setup_masquerade +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.masquerade import handle_ajax, setup_masquerade from edxmako.shortcuts import render_to_string from lms.djangoapps.courseware.date_summary import verified_upgrade_deadline_link from lms.djangoapps.lms_xblock.field_data import LmsFieldData diff --git a/lms/djangoapps/courseware/tests/test_access.py b/lms/djangoapps/courseware/tests/test_access.py index 78473c6d5ae..cb13e48e277 100644 --- a/lms/djangoapps/courseware/tests/test_access.py +++ b/lms/djangoapps/courseware/tests/test_access.py @@ -19,17 +19,17 @@ from milestones.tests.utils import MilestonesTestCaseMixin from mock import Mock, patch from opaque_keys.edx.locator import CourseLocator -import courseware.access as access -import courseware.access_response as access_response -from courseware.masquerade import CourseMasquerade -from courseware.tests.factories import ( +import lms.djangoapps.courseware.access as access +import lms.djangoapps.courseware.access_response as access_response +from lms.djangoapps.courseware.masquerade import CourseMasquerade +from lms.djangoapps.courseware.tests.factories import ( BetaTesterFactory, GlobalStaffFactory, InstructorFactory, StaffFactory, UserFactory ) -from courseware.tests.helpers import LoginEnrollmentTestCase, masquerade_as_group_member +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase, masquerade_as_group_member from lms.djangoapps.ccx.models import CustomCourseForEdX from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES diff --git a/lms/djangoapps/courseware/tests/test_context_processor.py b/lms/djangoapps/courseware/tests/test_context_processor.py index 1ab44b91b61..539d7938f64 100644 --- a/lms/djangoapps/courseware/tests/test_context_processor.py +++ b/lms/djangoapps/courseware/tests/test_context_processor.py @@ -6,7 +6,7 @@ from __future__ import absolute_import from django.contrib.auth.models import AnonymousUser from mock import Mock -from courseware.context_processor import user_timezone_locale_prefs +from lms.djangoapps.courseware.context_processor import user_timezone_locale_prefs from openedx.core.djangoapps.user_api.preferences.api import set_user_preference from student.tests.factories import UserFactory from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase diff --git a/lms/djangoapps/courseware/tests/test_course_survey.py b/lms/djangoapps/courseware/tests/test_course_survey.py index dd9069384e1..2e419d53e9a 100644 --- a/lms/djangoapps/courseware/tests/test_course_survey.py +++ b/lms/djangoapps/courseware/tests/test_course_survey.py @@ -13,7 +13,7 @@ from django.urls import reverse from six.moves import range from common.test.utils import XssTestMixin -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from survey.models import SurveyAnswer, SurveyForm from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory diff --git a/lms/djangoapps/courseware/tests/test_course_tools.py b/lms/djangoapps/courseware/tests/test_course_tools.py index 836e2546900..9a2f17e4e2c 100644 --- a/lms/djangoapps/courseware/tests/test_course_tools.py +++ b/lms/djangoapps/courseware/tests/test_course_tools.py @@ -13,8 +13,8 @@ from mock import patch from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.course_tools import VerifiedUpgradeTool -from courseware.models import DynamicUpgradeDeadlineConfiguration +from lms.djangoapps.courseware.course_tools import VerifiedUpgradeTool +from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from openedx.core.djangoapps.schedules.config import CREATE_SCHEDULE_WAFFLE_FLAG from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory diff --git a/lms/djangoapps/courseware/tests/test_courses.py b/lms/djangoapps/courseware/tests/test_courses.py index d0e682e56ea..095c87a712b 100644 --- a/lms/djangoapps/courseware/tests/test_courses.py +++ b/lms/djangoapps/courseware/tests/test_courses.py @@ -20,7 +20,7 @@ from opaque_keys.edx.keys import CourseKey from six import text_type from six.moves import range -from courseware.courses import ( +from lms.djangoapps.courseware.courses import ( course_open_for_self_enrollment, get_cms_block_link, get_cms_course_link, @@ -33,8 +33,8 @@ from courseware.courses import ( get_courses, get_current_child ) -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module_for_descriptor +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module_for_descriptor from lms.djangoapps.courseware.courseware_access_exception import CoursewareAccessException from openedx.core.djangolib.testing.utils import get_mock_request from openedx.core.lib.courses import course_image_url diff --git a/lms/djangoapps/courseware/tests/test_date_summary.py b/lms/djangoapps/courseware/tests/test_date_summary.py index ecb56191533..6466636de17 100644 --- a/lms/djangoapps/courseware/tests/test_date_summary.py +++ b/lms/djangoapps/courseware/tests/test_date_summary.py @@ -15,8 +15,8 @@ from pytz import utc from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.courses import get_course_date_blocks -from courseware.date_summary import ( +from lms.djangoapps.courseware.courses import get_course_date_blocks +from lms.djangoapps.courseware.date_summary import ( CertificateAvailableDate, CourseEndDate, CourseStartDate, @@ -24,7 +24,7 @@ from courseware.date_summary import ( VerificationDeadlineDate, VerifiedUpgradeDeadlineDate ) -from courseware.models import ( +from lms.djangoapps.courseware.models import ( CourseDynamicUpgradeDeadlineConfiguration, DynamicUpgradeDeadlineConfiguration, OrgDynamicUpgradeDeadlineConfiguration diff --git a/lms/djangoapps/courseware/tests/test_discussion_xblock.py b/lms/djangoapps/courseware/tests/test_discussion_xblock.py index b48cec6c119..c570edf09d5 100644 --- a/lms/djangoapps/courseware/tests/test_discussion_xblock.py +++ b/lms/djangoapps/courseware/tests/test_discussion_xblock.py @@ -20,7 +20,7 @@ from web_fragments.fragment import Fragment from xblock.field_data import DictFieldData from course_api.blocks.tests.helpers import deserialize_usage_key -from courseware.module_render import get_module_for_descriptor_internal +from lms.djangoapps.courseware.module_render import get_module_for_descriptor_internal from lms.djangoapps.courseware.tests.helpers import XModuleRenderingTestBase from student.tests.factories import CourseEnrollmentFactory, UserFactory from xblock_discussion import DiscussionXBlock, loader diff --git a/lms/djangoapps/courseware/tests/test_entrance_exam.py b/lms/djangoapps/courseware/tests/test_entrance_exam.py index 619c350f4a5..3d688d6bbfe 100644 --- a/lms/djangoapps/courseware/tests/test_entrance_exam.py +++ b/lms/djangoapps/courseware/tests/test_entrance_exam.py @@ -10,16 +10,16 @@ from milestones.tests.utils import MilestonesTestCaseMixin from mock import Mock, patch from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory -from courseware.entrance_exams import ( +from lms.djangoapps.courseware.entrance_exams import ( course_has_entrance_exam, get_entrance_exam_content, user_can_skip_entrance_exam, user_has_passed_entrance_exam ) -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module, handle_xblock_callback, toc_for_course -from courseware.tests.factories import InstructorFactory, RequestFactoryNoCsrf, StaffFactory, UserFactory -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module, handle_xblock_callback, toc_for_course +from lms.djangoapps.courseware.tests.factories import InstructorFactory, RequestFactoryNoCsrf, StaffFactory, UserFactory +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from openedx.core.djangoapps.waffle_utils.testutils import override_waffle_flag from openedx.core.djangolib.testing.utils import get_mock_request from openedx.features.course_experience import COURSE_OUTLINE_PAGE_FLAG, UNIFIED_COURSE_TAB_FLAG diff --git a/lms/djangoapps/courseware/tests/test_field_overrides.py b/lms/djangoapps/courseware/tests/test_field_overrides.py index bca92598bfd..c8df052a3b6 100644 --- a/lms/djangoapps/courseware/tests/test_field_overrides.py +++ b/lms/djangoapps/courseware/tests/test_field_overrides.py @@ -133,7 +133,7 @@ class OverrideFieldDataTests(OverrideFieldBase): @override_settings( - MODULESTORE_FIELD_OVERRIDE_PROVIDERS=['courseware.tests.test_field_overrides.TestOverrideProvider'] + MODULESTORE_FIELD_OVERRIDE_PROVIDERS=['lms.djangoapps.courseware.tests.test_field_overrides.TestOverrideProvider'] ) class OverrideModulestoreFieldDataTests(FieldOverrideTestMixin, OverrideFieldDataTests): def make_one(self): diff --git a/lms/djangoapps/courseware/tests/test_group_access.py b/lms/djangoapps/courseware/tests/test_group_access.py index 4fd55a78cca..11c10b72dd6 100644 --- a/lms/djangoapps/courseware/tests/test_group_access.py +++ b/lms/djangoapps/courseware/tests/test_group_access.py @@ -8,8 +8,8 @@ from __future__ import absolute_import import ddt from stevedore.extension import Extension, ExtensionManager -import courseware.access as access -from courseware.tests.factories import StaffFactory, UserFactory +import lms.djangoapps.courseware.access as access +from lms.djangoapps.courseware.tests.factories import StaffFactory, UserFactory from xmodule.modulestore.django import modulestore from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory diff --git a/lms/djangoapps/courseware/tests/test_lti_integration.py b/lms/djangoapps/courseware/tests/test_lti_integration.py index 7baeb6e8924..94bed42e03b 100644 --- a/lms/djangoapps/courseware/tests/test_lti_integration.py +++ b/lms/djangoapps/courseware/tests/test_lti_integration.py @@ -14,8 +14,8 @@ from django.conf import settings from django.urls import reverse from six import text_type -from courseware.tests.helpers import BaseTestXmodule -from courseware.views.views import get_course_lti_endpoints +from lms.djangoapps.courseware.tests.helpers import BaseTestXmodule +from lms.djangoapps.courseware.views.views import get_course_lti_endpoints from openedx.core.lib.url_utils import quote_slashes from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory diff --git a/lms/djangoapps/courseware/tests/test_masquerade.py b/lms/djangoapps/courseware/tests/test_masquerade.py index a6ce93ff17f..f0bae1c137a 100644 --- a/lms/djangoapps/courseware/tests/test_masquerade.py +++ b/lms/djangoapps/courseware/tests/test_masquerade.py @@ -18,10 +18,12 @@ from pytz import UTC from xblock.runtime import DictKeyValueStore from capa.tests.response_xml_factory import OptionResponseXMLFactory -from courseware.masquerade import CourseMasquerade, MasqueradingKeyValueStore, get_masquerading_user_group -from courseware.tests.factories import StaffFactory -from courseware.tests.helpers import LoginEnrollmentTestCase, masquerade_as_group_member -from courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin +from lms.djangoapps.courseware.masquerade import ( + CourseMasquerade, MasqueradingKeyValueStore, get_masquerading_user_group, +) +from lms.djangoapps.courseware.tests.factories import StaffFactory +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase, masquerade_as_group_member +from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration from openedx.core.djangoapps.user_api.preferences.api import get_user_preference, set_user_preference diff --git a/lms/djangoapps/courseware/tests/test_model_data.py b/lms/djangoapps/courseware/tests/test_model_data.py index c12557194ed..bb66ca772e8 100644 --- a/lms/djangoapps/courseware/tests/test_model_data.py +++ b/lms/djangoapps/courseware/tests/test_model_data.py @@ -13,16 +13,16 @@ from xblock.core import XBlock from xblock.exceptions import KeyValueMultiSaveError from xblock.fields import BlockScope, Scope, ScopeIds -from courseware.model_data import DjangoKeyValueStore, FieldDataCache, InvalidScopeError -from courseware.models import ( +from lms.djangoapps.courseware.model_data import DjangoKeyValueStore, FieldDataCache, InvalidScopeError +from lms.djangoapps.courseware.models import ( StudentModule, XModuleStudentInfoField, XModuleStudentPrefsField, XModuleUserStateSummaryField ) -from courseware.tests.factories import StudentInfoFactory -from courseware.tests.factories import StudentModuleFactory as cmfStudentModuleFactory -from courseware.tests.factories import StudentPrefsFactory, UserStateSummaryFactory, course_id, location +from lms.djangoapps.courseware.tests.factories import StudentInfoFactory +from lms.djangoapps.courseware.tests.factories import StudentModuleFactory as cmfStudentModuleFactory +from lms.djangoapps.courseware.tests.factories import StudentPrefsFactory, UserStateSummaryFactory, course_id, location from student.tests.factories import UserFactory diff --git a/lms/djangoapps/courseware/tests/test_module_render.py b/lms/djangoapps/courseware/tests/test_module_render.py index 4ee1b6ca1d1..dad40d99f81 100644 --- a/lms/djangoapps/courseware/tests/test_module_render.py +++ b/lms/djangoapps/courseware/tests/test_module_render.py @@ -45,16 +45,18 @@ from xblock.test.tools import TestRuntime from capa.tests.response_xml_factory import OptionResponseXMLFactory from course_modes.models import CourseMode -from courseware import module_render as render -from courseware.access_response import AccessResponse -from courseware.courses import get_course_info_section, get_course_with_access -from courseware.masquerade import CourseMasquerade -from courseware.model_data import FieldDataCache -from courseware.models import StudentModule -from courseware.module_render import get_module_for_descriptor, hash_resource -from courseware.tests.factories import GlobalStaffFactory, RequestFactoryNoCsrf, StudentModuleFactory, UserFactory -from courseware.tests.test_submitting_problems import TestSubmittingProblems -from courseware.tests.tests import LoginEnrollmentTestCase +from lms.djangoapps.courseware import module_render as render +from lms.djangoapps.courseware.access_response import AccessResponse +from lms.djangoapps.courseware.courses import get_course_info_section, get_course_with_access +from lms.djangoapps.courseware.masquerade import CourseMasquerade +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.models import StudentModule +from lms.djangoapps.courseware.module_render import get_module_for_descriptor, hash_resource +from lms.djangoapps.courseware.tests.factories import ( + GlobalStaffFactory, RequestFactoryNoCsrf, StudentModuleFactory, UserFactory, +) +from lms.djangoapps.courseware.tests.test_submitting_problems import TestSubmittingProblems +from lms.djangoapps.courseware.tests.tests import LoginEnrollmentTestCase from lms.djangoapps.courseware.field_overrides import OverrideFieldData from lms.djangoapps.lms_xblock.field_data import LmsFieldData from openedx.core.djangoapps.credit.api import set_credit_requirement_status, set_credit_requirements diff --git a/lms/djangoapps/courseware/tests/test_navigation.py b/lms/djangoapps/courseware/tests/test_navigation.py index b07889c2d87..ad20a5c94de 100644 --- a/lms/djangoapps/courseware/tests/test_navigation.py +++ b/lms/djangoapps/courseware/tests/test_navigation.py @@ -12,8 +12,8 @@ from mock import patch from six import text_type from six.moves import range -from courseware.tests.factories import GlobalStaffFactory -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from openedx.core.djangoapps.waffle_utils.testutils import override_waffle_flag from openedx.features.course_experience import COURSE_OUTLINE_PAGE_FLAG from student.tests.factories import UserFactory diff --git a/lms/djangoapps/courseware/tests/test_password_reset.py b/lms/djangoapps/courseware/tests/test_password_reset.py index a0fc597e2e9..e603c862692 100644 --- a/lms/djangoapps/courseware/tests/test_password_reset.py +++ b/lms/djangoapps/courseware/tests/test_password_reset.py @@ -11,7 +11,7 @@ from django.contrib.auth.tokens import default_token_generator from django.test.utils import override_settings from django.utils.http import int_to_base36 -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from util.password_policy_validators import create_validator_config diff --git a/lms/djangoapps/courseware/tests/test_self_paced_overrides.py b/lms/djangoapps/courseware/tests/test_self_paced_overrides.py index f4fbeb32afa..4769fd7278a 100644 --- a/lms/djangoapps/courseware/tests/test_self_paced_overrides.py +++ b/lms/djangoapps/courseware/tests/test_self_paced_overrides.py @@ -8,8 +8,8 @@ import pytz from django.test.utils import override_settings from mock import patch -from courseware.access import has_access -from courseware.tests.factories import BetaTesterFactory +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.tests.factories import BetaTesterFactory from lms.djangoapps.ccx.tests.test_overrides import inject_field_overrides from lms.djangoapps.courseware.field_overrides import OverrideFieldData, OverrideModulestoreFieldData from lms.djangoapps.discussion.django_comment_client.utils import get_accessible_discussion_xblocks @@ -19,7 +19,9 @@ from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory @override_settings( XBLOCK_FIELD_DATA_WRAPPERS=['lms.djangoapps.courseware.field_overrides:OverrideModulestoreFieldData.wrap'], - MODULESTORE_FIELD_OVERRIDE_PROVIDERS=['courseware.self_paced_overrides.SelfPacedDateOverrideProvider'], + MODULESTORE_FIELD_OVERRIDE_PROVIDERS=[ + 'lms.djangoapps.courseware.self_paced_overrides.SelfPacedDateOverrideProvider' + ], ) class SelfPacedDateOverrideTest(ModuleStoreTestCase): """ diff --git a/lms/djangoapps/courseware/tests/test_split_module.py b/lms/djangoapps/courseware/tests/test_split_module.py index ddb7ff41e64..06c22aa0f8e 100644 --- a/lms/djangoapps/courseware/tests/test_split_module.py +++ b/lms/djangoapps/courseware/tests/test_split_module.py @@ -8,8 +8,8 @@ from django.urls import reverse from mock import MagicMock from six import text_type -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module_for_descriptor +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module_for_descriptor from openedx.core.djangoapps.user_api.tests.factories import UserCourseTagFactory from student.tests.factories import CourseEnrollmentFactory, UserFactory from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase diff --git a/lms/djangoapps/courseware/tests/test_submitting_problems.py b/lms/djangoapps/courseware/tests/test_submitting_problems.py index 6b690fa8dab..243d1bb51e5 100644 --- a/lms/djangoapps/courseware/tests/test_submitting_problems.py +++ b/lms/djangoapps/courseware/tests/test_submitting_problems.py @@ -30,8 +30,8 @@ from capa.tests.response_xml_factory import ( SchematicResponseXMLFactory ) from course_modes.models import CourseMode -from courseware.models import BaseStudentModuleHistory, StudentModule -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.models import BaseStudentModuleHistory, StudentModule +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from lms.djangoapps.grades.api import CourseGradeFactory, task_compute_all_grades_for_course from openedx.core.djangoapps.credit.api import get_credit_requirement_status, set_credit_requirements from openedx.core.djangoapps.credit.models import CreditCourse, CreditProvider diff --git a/lms/djangoapps/courseware/tests/test_tabs.py b/lms/djangoapps/courseware/tests/test_tabs.py index 394c519b0d0..a26aebfd9e3 100644 --- a/lms/djangoapps/courseware/tests/test_tabs.py +++ b/lms/djangoapps/courseware/tests/test_tabs.py @@ -13,8 +13,8 @@ from mock import MagicMock, Mock, patch from six import text_type from six.moves import range -from courseware.courses import get_course_by_id -from courseware.tabs import ( +from lms.djangoapps.courseware.courses import get_course_by_id +from lms.djangoapps.courseware.tabs import ( CourseInfoTab, CoursewareTab, ExternalDiscussionCourseTab, @@ -22,9 +22,9 @@ from courseware.tabs import ( ProgressTab, get_course_tab_list ) -from courseware.tests.factories import InstructorFactory, StaffFactory -from courseware.tests.helpers import LoginEnrollmentTestCase -from courseware.views.views import StaticCourseTabView, get_static_tab_fragment +from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.views.views import StaticCourseTabView, get_static_tab_fragment from openedx.core.djangoapps.waffle_utils.testutils import override_waffle_flag from openedx.core.djangolib.testing.utils import get_mock_request from openedx.features.course_experience import UNIFIED_COURSE_TAB_FLAG diff --git a/lms/djangoapps/courseware/tests/test_user_state_client.py b/lms/djangoapps/courseware/tests/test_user_state_client.py index b12b8069328..a220dbd77da 100644 --- a/lms/djangoapps/courseware/tests/test_user_state_client.py +++ b/lms/djangoapps/courseware/tests/test_user_state_client.py @@ -9,8 +9,8 @@ from collections import defaultdict from edx_user_state_client.tests import UserStateClientTestBase -from courseware.tests.factories import UserFactory -from courseware.user_state_client import DjangoXBlockUserStateClient +from lms.djangoapps.courseware.tests.factories import UserFactory +from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateClient from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase diff --git a/lms/djangoapps/courseware/tests/test_view_authentication.py b/lms/djangoapps/courseware/tests/test_view_authentication.py index 6892397fa26..21bbe53f24a 100644 --- a/lms/djangoapps/courseware/tests/test_view_authentication.py +++ b/lms/djangoapps/courseware/tests/test_view_authentication.py @@ -12,8 +12,8 @@ from mock import patch from six import text_type from six.moves import range -from courseware.access import has_access -from courseware.tests.factories import ( +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.tests.factories import ( BetaTesterFactory, GlobalStaffFactory, InstructorFactory, @@ -21,7 +21,7 @@ from courseware.tests.factories import ( OrgStaffFactory, StaffFactory ) -from courseware.tests.helpers import CourseAccessTestMixin, LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.helpers import CourseAccessTestMixin, LoginEnrollmentTestCase from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseTestConsentRequired from student.tests.factories import CourseEnrollmentFactory, UserFactory from xmodule.modulestore.django import modulestore diff --git a/lms/djangoapps/courseware/tests/test_views.py b/lms/djangoapps/courseware/tests/test_views.py index e27aa3c1737..7cb2876f4f0 100644 --- a/lms/djangoapps/courseware/tests/test_views.py +++ b/lms/djangoapps/courseware/tests/test_views.py @@ -36,20 +36,20 @@ from web_fragments.fragment import Fragment from xblock.core import XBlock from xblock.fields import Scope, String -import courseware.views.views as views +import lms.djangoapps.courseware.views.views as views import shoppingcart from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.access_utils import check_course_open_for_learner -from courseware.model_data import FieldDataCache, set_score -from courseware.module_render import get_module, handle_xblock_callback -from courseware.tests.factories import GlobalStaffFactory, RequestFactoryNoCsrf, StudentModuleFactory -from courseware.tests.helpers import get_expiration_banner_text -from courseware.testutils import RenderXBlockTestMixin -from courseware.url_helpers import get_redirect_url -from courseware.user_state_client import DjangoXBlockUserStateClient +from lms.djangoapps.courseware.access_utils import check_course_open_for_learner +from lms.djangoapps.courseware.model_data import FieldDataCache, set_score +from lms.djangoapps.courseware.module_render import get_module, handle_xblock_callback +from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory, RequestFactoryNoCsrf, StudentModuleFactory +from lms.djangoapps.courseware.tests.helpers import get_expiration_banner_text +from lms.djangoapps.courseware.testutils import RenderXBlockTestMixin +from lms.djangoapps.courseware.url_helpers import get_redirect_url +from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateClient from lms.djangoapps.certificates import api as certs_api from lms.djangoapps.certificates.models import ( CertificateGenerationConfiguration, diff --git a/lms/djangoapps/courseware/tests/tests.py b/lms/djangoapps/courseware/tests/tests.py index 947b77e9a72..0645c4e7f50 100644 --- a/lms/djangoapps/courseware/tests/tests.py +++ b/lms/djangoapps/courseware/tests/tests.py @@ -11,7 +11,7 @@ from django.urls import reverse from opaque_keys.edx.keys import CourseKey from six import text_type -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from lms.djangoapps.lms_xblock.field_data import LmsFieldData from xmodule.error_module import ErrorDescriptor from xmodule.modulestore.django import modulestore diff --git a/lms/djangoapps/courseware/user_state_client.py b/lms/djangoapps/courseware/user_state_client.py index 156ee52db2f..422dfe0e76f 100644 --- a/lms/djangoapps/courseware/user_state_client.py +++ b/lms/djangoapps/courseware/user_state_client.py @@ -20,7 +20,7 @@ from edx_django_utils import monitoring as monitoring_utils from edx_user_state_client.interface import XBlockUserState, XBlockUserStateClient from xblock.fields import Scope -from courseware.models import BaseStudentModuleHistory, StudentModule +from lms.djangoapps.courseware.models import BaseStudentModuleHistory, StudentModule try: import simplejson as json diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index c6fe2f06d85..ee6baf91acd 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -51,9 +51,9 @@ from web_fragments.fragment import Fragment import shoppingcart import survey.views from course_modes.models import CourseMode, get_course_prices -from courseware.access import has_access, has_ccx_coach_role -from courseware.access_utils import check_course_open_for_learner -from courseware.courses import ( +from lms.djangoapps.courseware.access import has_access, has_ccx_coach_role +from lms.djangoapps.courseware.access_utils import check_course_open_for_learner +from lms.djangoapps.courseware.courses import ( can_self_enroll_in_course, course_open_for_self_enrollment, get_course, @@ -66,12 +66,14 @@ from courseware.courses import ( sort_by_announcement, sort_by_start_date ) -from courseware.masquerade import setup_masquerade -from courseware.model_data import FieldDataCache -from courseware.models import BaseStudentModuleHistory, StudentModule -from courseware.permissions import MASQUERADE_AS_STUDENT, VIEW_COURSE_HOME, VIEW_COURSEWARE, VIEW_XQA_INTERFACE -from courseware.url_helpers import get_redirect_url -from courseware.user_state_client import DjangoXBlockUserStateClient +from lms.djangoapps.courseware.masquerade import setup_masquerade +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.models import BaseStudentModuleHistory, StudentModule +from lms.djangoapps.courseware.permissions import ( + MASQUERADE_AS_STUDENT, VIEW_COURSE_HOME, VIEW_COURSEWARE, VIEW_XQA_INTERFACE, +) +from lms.djangoapps.courseware.url_helpers import get_redirect_url +from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateClient from edxmako.shortcuts import marketing_link, render_to_response, render_to_string from lms.djangoapps.ccx.custom_exception import CCXLocatorValidationException from lms.djangoapps.certificates import api as certs_api diff --git a/lms/djangoapps/coursewarehistoryextended/migrations/0001_initial.py b/lms/djangoapps/coursewarehistoryextended/migrations/0001_initial.py index 851584fbec1..c01336ccd2e 100644 --- a/lms/djangoapps/coursewarehistoryextended/migrations/0001_initial.py +++ b/lms/djangoapps/coursewarehistoryextended/migrations/0001_initial.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals from __future__ import absolute_import from django.db import migrations, models import django.db.models.deletion -from courseware.fields import UnsignedBigIntAutoField +from lms.djangoapps.courseware.fields import UnsignedBigIntAutoField from django.conf import settings def bump_pk_start(apps, schema_editor): diff --git a/lms/djangoapps/coursewarehistoryextended/models.py b/lms/djangoapps/coursewarehistoryextended/models.py index b9347f8ec41..d5ee483d760 100644 --- a/lms/djangoapps/coursewarehistoryextended/models.py +++ b/lms/djangoapps/coursewarehistoryextended/models.py @@ -20,8 +20,8 @@ from django.db.models.signals import post_delete, post_save from django.dispatch import receiver from django.utils.encoding import python_2_unicode_compatible -from courseware.models import BaseStudentModuleHistory, StudentModule -from courseware.fields import UnsignedBigIntAutoField +from lms.djangoapps.courseware.models import BaseStudentModuleHistory, StudentModule +from lms.djangoapps.courseware.fields import UnsignedBigIntAutoField @python_2_unicode_compatible diff --git a/lms/djangoapps/coursewarehistoryextended/tests.py b/lms/djangoapps/coursewarehistoryextended/tests.py index e97317f8508..868afae1417 100644 --- a/lms/djangoapps/coursewarehistoryextended/tests.py +++ b/lms/djangoapps/coursewarehistoryextended/tests.py @@ -14,8 +14,8 @@ from django.conf import settings from django.test import TestCase from mock import patch -from courseware.models import BaseStudentModuleHistory, StudentModule, StudentModuleHistory -from courseware.tests.factories import StudentModuleFactory, course_id, location +from lms.djangoapps.courseware.models import BaseStudentModuleHistory, StudentModule, StudentModuleHistory +from lms.djangoapps.courseware.tests.factories import StudentModuleFactory, course_id, location @skipUnless(settings.FEATURES["ENABLE_CSMH_EXTENDED"], "CSMH Extended needs to be enabled") diff --git a/lms/djangoapps/dashboard/sysadmin.py b/lms/djangoapps/dashboard/sysadmin.py index 08930c32b24..f09b6b311eb 100644 --- a/lms/djangoapps/dashboard/sysadmin.py +++ b/lms/djangoapps/dashboard/sysadmin.py @@ -31,7 +31,7 @@ from six import text_type import dashboard.git_import as git_import import track.views -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from dashboard.git_import import GitImportError from dashboard.models import CourseImportLog from edxmako.shortcuts import render_to_response diff --git a/lms/djangoapps/discussion/django_comment_client/base/views.py b/lms/djangoapps/discussion/django_comment_client/base/views.py index 113dce95ead..06a4770c907 100644 --- a/lms/djangoapps/discussion/django_comment_client/base/views.py +++ b/lms/djangoapps/discussion/django_comment_client/base/views.py @@ -25,8 +25,8 @@ from six import text_type import lms.djangoapps.discussion.django_comment_client.settings as cc_settings import openedx.core.djangoapps.django_comment_common.comment_client as cc -from courseware.access import has_access -from courseware.courses import get_course_by_id, get_course_overview_with_access, get_course_with_access +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_course_by_id, get_course_overview_with_access, get_course_with_access from lms.djangoapps.courseware.exceptions import CourseAccessRedirect from lms.djangoapps.discussion.django_comment_client.permissions import ( check_permissions_by_view, diff --git a/lms/djangoapps/discussion/django_comment_client/tests/test_utils.py b/lms/djangoapps/discussion/django_comment_client/tests/test_utils.py index 64f08952599..dc095c5dabd 100644 --- a/lms/djangoapps/discussion/django_comment_client/tests/test_utils.py +++ b/lms/djangoapps/discussion/django_comment_client/tests/test_utils.py @@ -18,8 +18,8 @@ from six import text_type import lms.djangoapps.discussion.django_comment_client.utils as utils from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.tabs import get_course_tab_list -from courseware.tests.factories import InstructorFactory +from lms.djangoapps.courseware.tabs import get_course_tab_list +from lms.djangoapps.courseware.tests.factories import InstructorFactory from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY from lms.djangoapps.discussion.django_comment_client.tests.factories import RoleFactory from lms.djangoapps.discussion.django_comment_client.tests.unicode import UnicodeTestMixin diff --git a/lms/djangoapps/discussion/django_comment_client/utils.py b/lms/djangoapps/discussion/django_comment_client/utils.py index ffc994769a0..d09195116a2 100644 --- a/lms/djangoapps/discussion/django_comment_client/utils.py +++ b/lms/djangoapps/discussion/django_comment_client/utils.py @@ -18,8 +18,8 @@ from pytz import UTC from six import text_type from six.moves import map -from courseware import courses -from courseware.access import has_access +from lms.djangoapps.courseware import courses +from lms.djangoapps.courseware.access import has_access from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY from lms.djangoapps.discussion.django_comment_client.permissions import ( check_permissions_by_view, diff --git a/lms/djangoapps/discussion/management/commands/get_discussion_link.py b/lms/djangoapps/discussion/management/commands/get_discussion_link.py index f275ecdfb3f..99b6b690e00 100644 --- a/lms/djangoapps/discussion/management/commands/get_discussion_link.py +++ b/lms/djangoapps/discussion/management/commands/get_discussion_link.py @@ -4,7 +4,7 @@ from __future__ import absolute_import from django.core.management.base import BaseCommand, CommandError from opaque_keys.edx.keys import CourseKey -from courseware.courses import get_course +from lms.djangoapps.courseware.courses import get_course class Command(BaseCommand): diff --git a/lms/djangoapps/discussion/plugins.py b/lms/djangoapps/discussion/plugins.py index e66de9b8d8a..c64d409763e 100644 --- a/lms/djangoapps/discussion/plugins.py +++ b/lms/djangoapps/discussion/plugins.py @@ -8,7 +8,7 @@ from django.conf import settings from django.utils.translation import ugettext_noop import lms.djangoapps.discussion.django_comment_client.utils as utils -from courseware.tabs import EnrolledTab +from lms.djangoapps.courseware.tabs import EnrolledTab from xmodule.tabs import TabFragmentViewMixin from .config import USE_BOOTSTRAP_FLAG diff --git a/lms/djangoapps/discussion/rest_api/forms.py b/lms/djangoapps/discussion/rest_api/forms.py index fd25459c187..d0a995473e3 100644 --- a/lms/djangoapps/discussion/rest_api/forms.py +++ b/lms/djangoapps/discussion/rest_api/forms.py @@ -13,7 +13,7 @@ from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.locator import CourseLocator from six import text_type -from courseware.courses import get_course_with_access +from lms.djangoapps.courseware.courses import get_course_with_access from openedx.core.djangoapps.django_comment_common.models import ( FORUM_ROLE_COMMUNITY_TA, FORUM_ROLE_GROUP_MODERATOR, diff --git a/lms/djangoapps/discussion/rest_api/tests/test_api.py b/lms/djangoapps/discussion/rest_api/tests/test_api.py index 17746205dd8..ee8d7486e14 100644 --- a/lms/djangoapps/discussion/rest_api/tests/test_api.py +++ b/lms/djangoapps/discussion/rest_api/tests/test_api.py @@ -19,7 +19,7 @@ from six.moves import range from six.moves.urllib.parse import parse_qs, urlencode, urlparse, urlunparse # pylint: disable=import-error from common.test.utils import MockSignalHandlerMixin, disable_signal -from courseware.tests.factories import BetaTesterFactory, StaffFactory +from lms.djangoapps.courseware.tests.factories import BetaTesterFactory, StaffFactory from lms.djangoapps.discussion.django_comment_client.tests.utils import ForumsEnableMixin from lms.djangoapps.discussion.rest_api import api from lms.djangoapps.discussion.rest_api.api import ( diff --git a/lms/djangoapps/discussion/views.py b/lms/djangoapps/discussion/views.py index a82c2796313..92838fcc107 100644 --- a/lms/djangoapps/discussion/views.py +++ b/lms/djangoapps/discussion/views.py @@ -26,9 +26,9 @@ from web_fragments.fragment import Fragment import lms.djangoapps.discussion.django_comment_client.utils as utils import openedx.core.djangoapps.django_comment_common.comment_client as cc -from courseware.access import has_access -from courseware.courses import get_course_with_access -from courseware.views.views import CourseTabView +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_course_with_access +from lms.djangoapps.courseware.views.views import CourseTabView from lms.djangoapps.discussion.django_comment_client.base.views import track_thread_viewed_event from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY from lms.djangoapps.discussion.django_comment_client.permissions import get_team, has_permission diff --git a/lms/djangoapps/edxnotes/helpers.py b/lms/djangoapps/edxnotes/helpers.py index 835c0f13643..fb8de803af6 100644 --- a/lms/djangoapps/edxnotes/helpers.py +++ b/lms/djangoapps/edxnotes/helpers.py @@ -21,8 +21,8 @@ from oauth2_provider.models import Application from opaque_keys.edx.keys import UsageKey from requests.exceptions import RequestException -from courseware.access import has_access -from courseware.courses import get_current_child +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_current_child from edxnotes.exceptions import EdxNotesParseError, EdxNotesServiceUnavailable from edxnotes.plugins import EdxNotesTab from lms.lib.utils import get_parent_unit diff --git a/lms/djangoapps/edxnotes/plugins.py b/lms/djangoapps/edxnotes/plugins.py index ef94555fecf..87e60fd3d74 100644 --- a/lms/djangoapps/edxnotes/plugins.py +++ b/lms/djangoapps/edxnotes/plugins.py @@ -6,7 +6,7 @@ from __future__ import absolute_import from django.conf import settings from django.utils.translation import ugettext_noop -from courseware.tabs import EnrolledTab +from lms.djangoapps.courseware.tabs import EnrolledTab class EdxNotesTab(EnrolledTab): diff --git a/lms/djangoapps/edxnotes/tests.py b/lms/djangoapps/edxnotes/tests.py index dc6d9a80857..44a45fbfcb1 100644 --- a/lms/djangoapps/edxnotes/tests.py +++ b/lms/djangoapps/edxnotes/tests.py @@ -22,9 +22,9 @@ from django.urls import reverse from mock import MagicMock, patch from oauth2_provider.models import Application -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module_for_descriptor -from courseware.tabs import get_course_tab_list +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module_for_descriptor +from lms.djangoapps.courseware.tabs import get_course_tab_list from edxmako.shortcuts import render_to_string from edxnotes import helpers from edxnotes.decorators import edxnotes diff --git a/lms/djangoapps/edxnotes/views.py b/lms/djangoapps/edxnotes/views.py index 6833f19be42..818b34cd7d6 100644 --- a/lms/djangoapps/edxnotes/views.py +++ b/lms/djangoapps/edxnotes/views.py @@ -18,9 +18,9 @@ from rest_framework.response import Response from rest_framework.views import APIView from six import text_type -from courseware.courses import get_course_with_access -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module_for_descriptor +from lms.djangoapps.courseware.courses import get_course_with_access +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module_for_descriptor from edxmako.shortcuts import render_to_response from edxnotes.exceptions import EdxNotesParseError, EdxNotesServiceUnavailable from edxnotes.helpers import ( diff --git a/lms/djangoapps/experiments/utils.py b/lms/djangoapps/experiments/utils.py index 29dca2073a4..4026ec9b977 100644 --- a/lms/djangoapps/experiments/utils.py +++ b/lms/djangoapps/experiments/utils.py @@ -13,8 +13,8 @@ from opaque_keys import InvalidKeyError from opaque_keys.edx.keys import CourseKey from course_modes.models import format_course_price, get_cosmetic_verified_display_price, CourseMode -from courseware.access import has_staff_access_to_preview_mode -from courseware.date_summary import verified_upgrade_deadline_link, verified_upgrade_link_is_valid +from lms.djangoapps.courseware.access import has_staff_access_to_preview_mode +from lms.djangoapps.courseware.date_summary import verified_upgrade_deadline_link, verified_upgrade_link_is_valid from entitlements.models import CourseEntitlement from lms.djangoapps.commerce.utils import EcommerceService from openedx.core.djangoapps.catalog.utils import get_programs diff --git a/lms/djangoapps/gating/tests/test_api.py b/lms/djangoapps/gating/tests/test_api.py index 7afc1042982..02f8cb4299a 100644 --- a/lms/djangoapps/gating/tests/test_api.py +++ b/lms/djangoapps/gating/tests/test_api.py @@ -8,7 +8,7 @@ from milestones import api as milestones_api from milestones.tests.utils import MilestonesTestCaseMixin from mock import Mock, patch -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from gating.api import evaluate_prerequisite from openedx.core.lib.gating import api as gating_api from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase diff --git a/lms/djangoapps/grades/management/commands/recalculate_subsection_grades.py b/lms/djangoapps/grades/management/commands/recalculate_subsection_grades.py index e4f7895297e..a1f6948c11a 100644 --- a/lms/djangoapps/grades/management/commands/recalculate_subsection_grades.py +++ b/lms/djangoapps/grades/management/commands/recalculate_subsection_grades.py @@ -13,7 +13,7 @@ from django.core.management.base import BaseCommand, CommandError from pytz import utc from submissions.models import Submission -from courseware.models import StudentModule +from lms.djangoapps.courseware.models import StudentModule from lms.djangoapps.grades.constants import ScoreDatabaseTableEnum from lms.djangoapps.grades.events import PROBLEM_SUBMITTED_EVENT_TYPE from lms.djangoapps.grades.tasks import recalculate_subsection_grade_v3 diff --git a/lms/djangoapps/grades/migrations/0001_initial.py b/lms/djangoapps/grades/migrations/0001_initial.py index 47842aa377f..6ad43b0df7f 100644 --- a/lms/djangoapps/grades/migrations/0001_initial.py +++ b/lms/djangoapps/grades/migrations/0001_initial.py @@ -6,7 +6,7 @@ import model_utils.fields from django.db import migrations, models from opaque_keys.edx.django.models import CourseKeyField, UsageKeyField -from courseware.fields import UnsignedBigIntAutoField +from lms.djangoapps.courseware.fields import UnsignedBigIntAutoField class Migration(migrations.Migration): diff --git a/lms/djangoapps/grades/migrations/0006_persistent_course_grades.py b/lms/djangoapps/grades/migrations/0006_persistent_course_grades.py index 0ea85675d69..f5b1534932d 100644 --- a/lms/djangoapps/grades/migrations/0006_persistent_course_grades.py +++ b/lms/djangoapps/grades/migrations/0006_persistent_course_grades.py @@ -6,7 +6,7 @@ import model_utils.fields from django.db import migrations, models from opaque_keys.edx.django.models import CourseKeyField -from courseware.fields import UnsignedBigIntAutoField +from lms.djangoapps.courseware.fields import UnsignedBigIntAutoField class Migration(migrations.Migration): diff --git a/lms/djangoapps/grades/migrations/0013_persistentsubsectiongradeoverride.py b/lms/djangoapps/grades/migrations/0013_persistentsubsectiongradeoverride.py index 28f5ed61e0d..ecd104e45e3 100644 --- a/lms/djangoapps/grades/migrations/0013_persistentsubsectiongradeoverride.py +++ b/lms/djangoapps/grades/migrations/0013_persistentsubsectiongradeoverride.py @@ -3,7 +3,7 @@ from __future__ import absolute_import, unicode_literals from django.db import migrations, models -from courseware.fields import UnsignedBigIntOneToOneField +from lms.djangoapps.courseware.fields import UnsignedBigIntOneToOneField class Migration(migrations.Migration): diff --git a/lms/djangoapps/grades/models.py b/lms/djangoapps/grades/models.py index dc412594fea..9411712c291 100644 --- a/lms/djangoapps/grades/models.py +++ b/lms/djangoapps/grades/models.py @@ -29,7 +29,7 @@ from opaque_keys.edx.keys import CourseKey, UsageKey from simple_history.models import HistoricalRecords from six.moves import map -from courseware.fields import UnsignedBigIntAutoField, UnsignedBigIntOneToOneField +from lms.djangoapps.courseware.fields import UnsignedBigIntAutoField, UnsignedBigIntOneToOneField from lms.djangoapps.grades import constants, events from openedx.core.lib.cache_utils import get_cache diff --git a/lms/djangoapps/grades/rest_api/v1/gradebook_views.py b/lms/djangoapps/grades/rest_api/v1/gradebook_views.py index 1266172b0ec..3a13719f304 100644 --- a/lms/djangoapps/grades/rest_api/v1/gradebook_views.py +++ b/lms/djangoapps/grades/rest_api/v1/gradebook_views.py @@ -20,7 +20,7 @@ from rest_framework.response import Response from rest_framework.views import APIView from six import text_type -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from lms.djangoapps.grades.api import CourseGradeFactory, clear_prefetched_course_and_subsection_grades from lms.djangoapps.grades.api import constants as grades_constants from lms.djangoapps.grades.api import context as grades_context diff --git a/lms/djangoapps/grades/signals/handlers.py b/lms/djangoapps/grades/signals/handlers.py index bb5bf19b98d..a59643d7127 100644 --- a/lms/djangoapps/grades/signals/handlers.py +++ b/lms/djangoapps/grades/signals/handlers.py @@ -12,7 +12,7 @@ from opaque_keys.edx.keys import LearningContextKey from submissions.models import score_reset, score_set from xblock.scorable import ScorableXBlockMixin, Score -from courseware.model_data import get_score, set_score +from lms.djangoapps.courseware.model_data import get_score, set_score from openedx.core.djangoapps.course_groups.signals.signals import COHORT_MEMBERSHIP_UPDATED from openedx.core.lib.grade_utils import is_score_higher_or_equal from student.models import user_by_anonymous_id diff --git a/lms/djangoapps/grades/subsection_grade_factory.py b/lms/djangoapps/grades/subsection_grade_factory.py index ac47cc6149f..c7f89b8cc52 100644 --- a/lms/djangoapps/grades/subsection_grade_factory.py +++ b/lms/djangoapps/grades/subsection_grade_factory.py @@ -10,7 +10,7 @@ from logging import getLogger from lazy import lazy from submissions import api as submissions_api -from courseware.model_data import ScoresClient +from lms.djangoapps.courseware.model_data import ScoresClient from lms.djangoapps.grades.config import assume_zero_if_absent, should_persist_grades from lms.djangoapps.grades.models import PersistentSubsectionGrade from lms.djangoapps.grades.scores import possibly_scored diff --git a/lms/djangoapps/grades/tasks.py b/lms/djangoapps/grades/tasks.py index ccf6f0edecb..5c715537bc0 100644 --- a/lms/djangoapps/grades/tasks.py +++ b/lms/djangoapps/grades/tasks.py @@ -18,7 +18,7 @@ from opaque_keys.edx.keys import CourseKey, UsageKey from opaque_keys.edx.locator import CourseLocator from submissions import api as sub_api -from courseware.model_data import get_score +from lms.djangoapps.courseware.model_data import get_score from lms.djangoapps.course_blocks.api import get_course_blocks from lms.djangoapps.grades.config.models import ComputeGradesSetting from openedx.core.djangoapps.content.course_overviews.models import CourseOverview diff --git a/lms/djangoapps/grades/tests/integration/test_access.py b/lms/djangoapps/grades/tests/integration/test_access.py index 923705507f6..08c5653b59a 100644 --- a/lms/djangoapps/grades/tests/integration/test_access.py +++ b/lms/djangoapps/grades/tests/integration/test_access.py @@ -6,7 +6,7 @@ from __future__ import absolute_import from crum import set_current_request from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory -from courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin +from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin from lms.djangoapps.course_blocks.api import get_course_blocks from openedx.core.djangolib.testing.utils import get_mock_request from student.models import CourseEnrollment diff --git a/lms/djangoapps/grades/tests/integration/test_events.py b/lms/djangoapps/grades/tests/integration/test_events.py index 829e37a9fa1..68a6d7f4c6f 100644 --- a/lms/djangoapps/grades/tests/integration/test_events.py +++ b/lms/djangoapps/grades/tests/integration/test_events.py @@ -10,7 +10,7 @@ from mock import call as mock_call from mock import patch from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory -from courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin +from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin from lms.djangoapps.instructor.enrollment import reset_student_attempts from lms.djangoapps.instructor_task.api import submit_rescore_problem_for_student from openedx.core.djangolib.testing.utils import get_mock_request diff --git a/lms/djangoapps/grades/tests/integration/test_problems.py b/lms/djangoapps/grades/tests/integration/test_problems.py index c52afb99c42..3c2984353e9 100644 --- a/lms/djangoapps/grades/tests/integration/test_problems.py +++ b/lms/djangoapps/grades/tests/integration/test_problems.py @@ -10,7 +10,7 @@ from crum import set_current_request from six.moves import range from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory -from courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin +from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin from lms.djangoapps.course_blocks.api import get_course_blocks from openedx.core.djangolib.testing.utils import get_mock_request from student.models import CourseEnrollment diff --git a/lms/djangoapps/grades/tests/test_course_grade_factory.py b/lms/djangoapps/grades/tests/test_course_grade_factory.py index b64ddee3e31..8bba6c151c7 100644 --- a/lms/djangoapps/grades/tests/test_course_grade_factory.py +++ b/lms/djangoapps/grades/tests/test_course_grade_factory.py @@ -10,7 +10,7 @@ from django.conf import settings from mock import patch from six import text_type -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access from lms.djangoapps.grades.config.tests.utils import persistent_grades_feature_flags from openedx.core.djangoapps.content.block_structure.factory import BlockStructureFactory from student.tests.factories import UserFactory diff --git a/lms/djangoapps/grades/tests/test_subsection_grade_factory.py b/lms/djangoapps/grades/tests/test_subsection_grade_factory.py index 93aa9899843..53068d855d1 100644 --- a/lms/djangoapps/grades/tests/test_subsection_grade_factory.py +++ b/lms/djangoapps/grades/tests/test_subsection_grade_factory.py @@ -7,7 +7,7 @@ import ddt from django.conf import settings from mock import patch -from courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin +from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin from lms.djangoapps.grades.config.tests.utils import persistent_grades_feature_flags from student.tests.factories import UserFactory diff --git a/lms/djangoapps/grades/tests/utils.py b/lms/djangoapps/grades/tests/utils.py index a0b97b8ab19..996fbe88f32 100644 --- a/lms/djangoapps/grades/tests/utils.py +++ b/lms/djangoapps/grades/tests/utils.py @@ -9,8 +9,8 @@ from datetime import datetime import pytz from mock import MagicMock, patch -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module from xmodule.graders import ProblemScore diff --git a/lms/djangoapps/instructor/enrollment.py b/lms/djangoapps/instructor/enrollment.py index a6a57cee4f9..dc70eaff243 100644 --- a/lms/djangoapps/instructor/enrollment.py +++ b/lms/djangoapps/instructor/enrollment.py @@ -26,7 +26,7 @@ from submissions import api as sub_api # installed from the edx-submissions rep from submissions.models import score_set from course_modes.models import CourseMode -from courseware.models import StudentModule +from lms.djangoapps.courseware.models import StudentModule from lms.djangoapps.grades.api import constants as grades_constants from lms.djangoapps.grades.api import disconnect_submissions_signal_receiver from lms.djangoapps.grades.api import events as grades_events diff --git a/lms/djangoapps/instructor/paidcourse_enrollment_report.py b/lms/djangoapps/instructor/paidcourse_enrollment_report.py index 479761b2fff..d4b67f30b1e 100644 --- a/lms/djangoapps/instructor/paidcourse_enrollment_report.py +++ b/lms/djangoapps/instructor/paidcourse_enrollment_report.py @@ -9,8 +9,8 @@ import collections from django.conf import settings from django.utils.translation import ugettext as _ -from courseware.access import has_access -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_course_by_id from lms.djangoapps.instructor.enrollment_report import BaseAbstractEnrollmentReportProvider from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers from shoppingcart.models import ( diff --git a/lms/djangoapps/instructor/permissions.py b/lms/djangoapps/instructor/permissions.py index d47a4b28f10..e1d75a235b6 100644 --- a/lms/djangoapps/instructor/permissions.py +++ b/lms/djangoapps/instructor/permissions.py @@ -4,7 +4,7 @@ Permissions for the instructor dashboard and associated actions from bridgekeeper import perms from bridgekeeper.rules import is_staff -from courseware.rules import HasAccessRule +from lms.djangoapps.courseware.rules import HasAccessRule ALLOW_STUDENT_TO_BYPASS_ENTRANCE_EXAM = 'instructor.allow_student_to_bypass_entrance_exam' ASSIGN_TO_COHORTS = 'instructor.assign_to_cohorts' diff --git a/lms/djangoapps/instructor/services.py b/lms/djangoapps/instructor/services.py index b20208eaab2..200eafa27ec 100644 --- a/lms/djangoapps/instructor/services.py +++ b/lms/djangoapps/instructor/services.py @@ -12,7 +12,7 @@ from opaque_keys import InvalidKeyError from opaque_keys.edx.keys import CourseKey, UsageKey import lms.djangoapps.instructor.enrollment as enrollment -from courseware.models import StudentModule +from lms.djangoapps.courseware.models import StudentModule from lms.djangoapps.commerce.utils import create_zendesk_ticket from lms.djangoapps.instructor.views.tools import get_student_from_identifier from student import auth diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py index 122f60910f5..40b5759ca4e 100644 --- a/lms/djangoapps/instructor/tests/test_api.py +++ b/lms/djangoapps/instructor/tests/test_api.py @@ -38,15 +38,15 @@ from testfixtures import LogCapture from bulk_email.models import BulkEmailFlag, CourseEmail, CourseEmailTemplate from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.models import StudentModule -from courseware.tests.factories import ( +from lms.djangoapps.courseware.models import StudentModule +from lms.djangoapps.courseware.tests.factories import ( BetaTesterFactory, GlobalStaffFactory, InstructorFactory, StaffFactory, UserProfileFactory ) -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from lms.djangoapps.certificates.api import generate_user_certificates from lms.djangoapps.certificates.models import CertificateStatuses from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory diff --git a/lms/djangoapps/instructor/tests/test_api_email_localization.py b/lms/djangoapps/instructor/tests/test_api_email_localization.py index b818358bdec..248b9b05102 100644 --- a/lms/djangoapps/instructor/tests/test_api_email_localization.py +++ b/lms/djangoapps/instructor/tests/test_api_email_localization.py @@ -10,7 +10,7 @@ from django.test.utils import override_settings from django.urls import reverse from six import text_type -from courseware.tests.factories import InstructorFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY from openedx.core.djangoapps.user_api.preferences.api import delete_user_preference, set_user_preference from student.models import CourseEnrollment diff --git a/lms/djangoapps/instructor/tests/test_certificates.py b/lms/djangoapps/instructor/tests/test_certificates.py index 6d3104823d5..af5113cdd5f 100644 --- a/lms/djangoapps/instructor/tests/test_certificates.py +++ b/lms/djangoapps/instructor/tests/test_certificates.py @@ -19,7 +19,7 @@ from django.urls import reverse from capa.xqueue_interface import XQueueInterface from course_modes.models import CourseMode -from courseware.tests.factories import GlobalStaffFactory, InstructorFactory, UserFactory +from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory, InstructorFactory, UserFactory from lms.djangoapps.certificates import api as certs_api from lms.djangoapps.certificates.models import ( CertificateGenerationConfiguration, diff --git a/lms/djangoapps/instructor/tests/test_enrollment.py b/lms/djangoapps/instructor/tests/test_enrollment.py index 721604dddf4..e037c848121 100644 --- a/lms/djangoapps/instructor/tests/test_enrollment.py +++ b/lms/djangoapps/instructor/tests/test_enrollment.py @@ -20,7 +20,7 @@ from six import text_type from submissions import api as sub_api from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory -from courseware.models import StudentModule +from lms.djangoapps.courseware.models import StudentModule from grades.subsection_grade_factory import SubsectionGradeFactory from grades.tests.utils import answer_problem from lms.djangoapps.ccx.tests.factories import CcxFactory diff --git a/lms/djangoapps/instructor/tests/test_registration_codes.py b/lms/djangoapps/instructor/tests/test_registration_codes.py index 15967584db7..29a0416ec17 100644 --- a/lms/djangoapps/instructor/tests/test_registration_codes.py +++ b/lms/djangoapps/instructor/tests/test_registration_codes.py @@ -14,7 +14,7 @@ from six.moves import range from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.tests.factories import InstructorFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory from shoppingcart.models import ( CourseRegCodeItem, CourseRegistrationCode, diff --git a/lms/djangoapps/instructor/tests/test_services.py b/lms/djangoapps/instructor/tests/test_services.py index ee2723051d5..970624854cd 100644 --- a/lms/djangoapps/instructor/tests/test_services.py +++ b/lms/djangoapps/instructor/tests/test_services.py @@ -9,7 +9,7 @@ import json import mock import six -from courseware.models import StudentModule +from lms.djangoapps.courseware.models import StudentModule from lms.djangoapps.instructor.access import allow_access from lms.djangoapps.instructor.services import InstructorService from lms.djangoapps.instructor.tests.test_tools import msk_from_problem_urlname diff --git a/lms/djangoapps/instructor/tests/test_spoc_gradebook.py b/lms/djangoapps/instructor/tests/test_spoc_gradebook.py index e335d18569a..f4c0036bc17 100644 --- a/lms/djangoapps/instructor/tests/test_spoc_gradebook.py +++ b/lms/djangoapps/instructor/tests/test_spoc_gradebook.py @@ -9,7 +9,7 @@ from six import text_type from six.moves import range from capa.tests.response_xml_factory import StringResponseXMLFactory -from courseware.tests.factories import StudentModuleFactory +from lms.djangoapps.courseware.tests.factories import StudentModuleFactory from lms.djangoapps.grades.api import task_compute_all_grades_for_course from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase diff --git a/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py b/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py index fe8a7d1cb89..229bf43300f 100644 --- a/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py +++ b/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py @@ -20,9 +20,9 @@ from six.moves import range from common.test.utils import XssTestMixin from course_modes.models import CourseMode -from courseware.tabs import get_course_tab_list -from courseware.tests.factories import StaffFactory, StudentModuleFactory, UserFactory -from courseware.tests.helpers import LoginEnrollmentTestCase +from lms.djangoapps.courseware.tabs import get_course_tab_list +from lms.djangoapps.courseware.tests.factories import StaffFactory, StudentModuleFactory, UserFactory +from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase from edxmako.shortcuts import render_to_response from lms.djangoapps.grades.config.waffle import WRITABLE_GRADEBOOK, waffle_flags from lms.djangoapps.instructor.views.gradebook_api import calculate_page_info diff --git a/lms/djangoapps/instructor/utils.py b/lms/djangoapps/instructor/utils.py index 752d969916a..c17213d7ea7 100644 --- a/lms/djangoapps/instructor/utils.py +++ b/lms/djangoapps/instructor/utils.py @@ -4,8 +4,8 @@ Helpers for instructor app. from __future__ import absolute_import -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module from xmodule.modulestore.django import modulestore diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py index 6e9b65055e6..df483f74697 100644 --- a/lms/djangoapps/instructor/views/api.py +++ b/lms/djangoapps/instructor/views/api.py @@ -50,9 +50,9 @@ import instructor_analytics.csvs import instructor_analytics.distributions from bulk_email.api import is_bulk_email_feature_enabled from bulk_email.models import CourseEmail -from courseware.access import has_access -from courseware.courses import get_course_by_id, get_course_with_access -from courseware.models import StudentModule +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_course_by_id, get_course_with_access +from lms.djangoapps.courseware.models import StudentModule from edxmako.shortcuts import render_to_string from lms.djangoapps.certificates import api as certs_api from lms.djangoapps.certificates.models import ( diff --git a/lms/djangoapps/instructor/views/gradebook_api.py b/lms/djangoapps/instructor/views/gradebook_api.py index 6e6fe7bd725..532180f54d1 100644 --- a/lms/djangoapps/instructor/views/gradebook_api.py +++ b/lms/djangoapps/instructor/views/gradebook_api.py @@ -13,7 +13,7 @@ from django.urls import reverse from django.views.decorators.cache import cache_control from opaque_keys.edx.keys import CourseKey -from courseware.courses import get_course_with_access +from lms.djangoapps.courseware.courses import get_course_with_access from edxmako.shortcuts import render_to_response from lms.djangoapps.grades.api import CourseGradeFactory from lms.djangoapps.instructor.views.api import require_level diff --git a/lms/djangoapps/instructor/views/instructor_dashboard.py b/lms/djangoapps/instructor/views/instructor_dashboard.py index 93da9f22d75..712bf4f12fa 100644 --- a/lms/djangoapps/instructor/views/instructor_dashboard.py +++ b/lms/djangoapps/instructor/views/instructor_dashboard.py @@ -32,8 +32,8 @@ from xblock.fields import ScopeIds from bulk_email.api import is_bulk_email_feature_enabled from class_dashboard.dashboard_data import get_array_section_has_problem, get_section_display_name from course_modes.models import CourseMode, CourseModesArchive -from courseware.access import has_access -from courseware.courses import get_course_by_id, get_studio_url +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_course_by_id, get_studio_url from edxmako.shortcuts import render_to_response from lms.djangoapps.certificates import api as certs_api from lms.djangoapps.certificates.models import ( diff --git a/lms/djangoapps/instructor/views/registration_codes.py b/lms/djangoapps/instructor/views/registration_codes.py index 063802b4f9a..01e199f4d51 100644 --- a/lms/djangoapps/instructor/views/registration_codes.py +++ b/lms/djangoapps/instructor/views/registration_codes.py @@ -12,7 +12,7 @@ from django.views.decorators.cache import cache_control from django.views.decorators.http import require_GET, require_POST from opaque_keys.edx.locator import CourseKey -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from lms.djangoapps.instructor.enrollment import get_email_params, send_mail_to_student from lms.djangoapps.instructor.views.api import require_level from shoppingcart.models import CourseRegistrationCode, RegistrationCodeRedemption diff --git a/lms/djangoapps/instructor_analytics/basic.py b/lms/djangoapps/instructor_analytics/basic.py index d4eedf26803..d45d792446f 100644 --- a/lms/djangoapps/instructor_analytics/basic.py +++ b/lms/djangoapps/instructor_analytics/basic.py @@ -21,7 +21,7 @@ from opaque_keys.edx.keys import CourseKey, UsageKey from six import text_type import xmodule.graders as xmgraders -from courseware.models import StudentModule +from lms.djangoapps.courseware.models import StudentModule from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate from lms.djangoapps.grades.api import context as grades_context from lms.djangoapps.verify_student.services import IDVerificationService diff --git a/lms/djangoapps/instructor_analytics/tests/test_basic.py b/lms/djangoapps/instructor_analytics/tests/test_basic.py index aab5aab0769..eebfaec3df1 100644 --- a/lms/djangoapps/instructor_analytics/tests/test_basic.py +++ b/lms/djangoapps/instructor_analytics/tests/test_basic.py @@ -20,7 +20,7 @@ from six.moves import range, zip from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.tests.factories import InstructorFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory from lms.djangoapps.instructor_analytics.basic import ( AVAILABLE_FEATURES, PROFILE_FEATURES, diff --git a/lms/djangoapps/instructor_task/api_helper.py b/lms/djangoapps/instructor_task/api_helper.py index 349ec1e6b1a..bf49deda9d6 100644 --- a/lms/djangoapps/instructor_task/api_helper.py +++ b/lms/djangoapps/instructor_task/api_helper.py @@ -17,8 +17,8 @@ from opaque_keys.edx.keys import UsageKey import six from six import text_type -from courseware.courses import get_problems_in_section -from courseware.module_render import get_xqueue_callback_url_prefix +from lms.djangoapps.courseware.courses import get_problems_in_section +from lms.djangoapps.courseware.module_render import get_xqueue_callback_url_prefix from lms.djangoapps.instructor_task.models import PROGRESS, InstructorTask from util.db import outer_atomic from xmodule.modulestore.django import modulestore diff --git a/lms/djangoapps/instructor_task/tasks_helper/enrollments.py b/lms/djangoapps/instructor_task/tasks_helper/enrollments.py index f23d3d66308..5e06cc68edc 100644 --- a/lms/djangoapps/instructor_task/tasks_helper/enrollments.py +++ b/lms/djangoapps/instructor_task/tasks_helper/enrollments.py @@ -12,7 +12,7 @@ from django.conf import settings from django.utils.translation import ugettext as _ from pytz import UTC -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from edxmako.shortcuts import render_to_string from lms.djangoapps.instructor_analytics.basic import enrolled_students_features, list_may_enroll from lms.djangoapps.instructor_analytics.csvs import format_dictlist diff --git a/lms/djangoapps/instructor_task/tasks_helper/grades.py b/lms/djangoapps/instructor_task/tasks_helper/grades.py index 5ca6f833f2a..dc4026b0366 100644 --- a/lms/djangoapps/instructor_task/tasks_helper/grades.py +++ b/lms/djangoapps/instructor_task/tasks_helper/grades.py @@ -20,8 +20,8 @@ from six import text_type from six.moves import zip, zip_longest from course_blocks.api import get_course_blocks -from courseware.courses import get_course_by_id -from courseware.user_state_client import DjangoXBlockUserStateClient +from lms.djangoapps.courseware.courses import get_course_by_id +from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateClient from lms.djangoapps.instructor_analytics.basic import list_problem_responses from lms.djangoapps.instructor_analytics.csvs import format_dictlist from lms.djangoapps.certificates.models import CertificateWhitelist, GeneratedCertificate, certificate_info_for_user diff --git a/lms/djangoapps/instructor_task/tasks_helper/module_state.py b/lms/djangoapps/instructor_task/tasks_helper/module_state.py index 39cb7581e16..d1c1461bcc5 100644 --- a/lms/djangoapps/instructor_task/tasks_helper/module_state.py +++ b/lms/djangoapps/instructor_task/tasks_helper/module_state.py @@ -14,10 +14,10 @@ from xblock.runtime import KvsFieldData from xblock.scorable import Score from capa.responsetypes import LoncapaProblemError, ResponseError, StudentInputError -from courseware.courses import get_course_by_id, get_problems_in_section -from courseware.model_data import DjangoKeyValueStore, FieldDataCache -from courseware.models import StudentModule -from courseware.module_render import get_module_for_descriptor_internal +from lms.djangoapps.courseware.courses import get_course_by_id, get_problems_in_section +from lms.djangoapps.courseware.model_data import DjangoKeyValueStore, FieldDataCache +from lms.djangoapps.courseware.models import StudentModule +from lms.djangoapps.courseware.module_render import get_module_for_descriptor_internal from lms.djangoapps.grades.api import events as grades_events from student.models import get_user_by_username_or_email from track.event_transaction_utils import create_new_event_transaction_id, set_event_transaction_type diff --git a/lms/djangoapps/instructor_task/tests/test_api.py b/lms/djangoapps/instructor_task/tests/test_api.py index eae423d5b07..b7041397b5d 100644 --- a/lms/djangoapps/instructor_task/tests/test_api.py +++ b/lms/djangoapps/instructor_task/tests/test_api.py @@ -10,7 +10,7 @@ from six.moves import range from bulk_email.models import SEND_TO_LEARNERS, SEND_TO_MYSELF, SEND_TO_STAFF, CourseEmail from common.test.utils import normalize_repr -from courseware.tests.factories import UserFactory +from lms.djangoapps.courseware.tests.factories import UserFactory from lms.djangoapps.certificates.models import CertificateGenerationHistory, CertificateStatuses from lms.djangoapps.instructor_task.api import ( SpecificStudentIdMissingError, diff --git a/lms/djangoapps/instructor_task/tests/test_base.py b/lms/djangoapps/instructor_task/tests/test_base.py index 24fd6915e3a..53205f6dfef 100644 --- a/lms/djangoapps/instructor_task/tests/test_base.py +++ b/lms/djangoapps/instructor_task/tests/test_base.py @@ -22,8 +22,8 @@ from opaque_keys.edx.locations import Location from six import text_type from capa.tests.response_xml_factory import OptionResponseXMLFactory -from courseware.model_data import StudentModule -from courseware.tests.tests import LoginEnrollmentTestCase +from lms.djangoapps.courseware.model_data import StudentModule +from lms.djangoapps.courseware.tests.tests import LoginEnrollmentTestCase from lms.djangoapps.instructor_task.api_helper import encode_problem_and_student_input from lms.djangoapps.instructor_task.models import PROGRESS, QUEUING, ReportStore from lms.djangoapps.instructor_task.tests.factories import InstructorTaskFactory diff --git a/lms/djangoapps/instructor_task/tests/test_integration.py b/lms/djangoapps/instructor_task/tests/test_integration.py index a0137041f59..d77532f3fe3 100644 --- a/lms/djangoapps/instructor_task/tests/test_integration.py +++ b/lms/djangoapps/instructor_task/tests/test_integration.py @@ -23,7 +23,7 @@ from six.moves import range from capa.responsetypes import StudentInputError from capa.tests.response_xml_factory import CodeResponseXMLFactory, CustomResponseXMLFactory -from courseware.model_data import StudentModule +from lms.djangoapps.courseware.model_data import StudentModule from lms.djangoapps.grades.api import CourseGradeFactory from lms.djangoapps.instructor_task.api import ( submit_delete_problem_state_for_all_students, diff --git a/lms/djangoapps/instructor_task/tests/test_tasks.py b/lms/djangoapps/instructor_task/tests/test_tasks.py index 603d6acfbd0..0ed37069821 100644 --- a/lms/djangoapps/instructor_task/tests/test_tasks.py +++ b/lms/djangoapps/instructor_task/tests/test_tasks.py @@ -19,8 +19,8 @@ from opaque_keys.edx.locations import i4xEncoder from six.moves import range from course_modes.models import CourseMode -from courseware.models import StudentModule -from courseware.tests.factories import StudentModuleFactory +from lms.djangoapps.courseware.models import StudentModule +from lms.djangoapps.courseware.tests.factories import StudentModuleFactory from lms.djangoapps.instructor_task.exceptions import UpdateProblemModuleStateError from lms.djangoapps.instructor_task.models import InstructorTask from lms.djangoapps.instructor_task.tasks import ( diff --git a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py index 2eab66f088e..8468e273018 100644 --- a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py +++ b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py @@ -32,7 +32,7 @@ import openedx.core.djangoapps.user_api.course_tag.api as course_tag_api from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.tests.factories import InstructorFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate from lms.djangoapps.certificates.tests.factories import CertificateWhitelistFactory, GeneratedCertificateFactory from lms.djangoapps.grades.models import PersistentCourseGrade diff --git a/lms/djangoapps/lti_provider/tests/test_views.py b/lms/djangoapps/lti_provider/tests/test_views.py index 430eb5ba40d..5ad29b7930a 100644 --- a/lms/djangoapps/lti_provider/tests/test_views.py +++ b/lms/djangoapps/lti_provider/tests/test_views.py @@ -11,7 +11,7 @@ from django.urls import reverse from mock import MagicMock, patch from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator -from courseware.testutils import RenderXBlockTestMixin +from lms.djangoapps.courseware.testutils import RenderXBlockTestMixin from lti_provider import models, views from student.tests.factories import UserFactory from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase diff --git a/lms/djangoapps/lti_provider/views.py b/lms/djangoapps/lti_provider/views.py index ec80bcfaebb..d67e16ab1c7 100644 --- a/lms/djangoapps/lti_provider/views.py +++ b/lms/djangoapps/lti_provider/views.py @@ -146,7 +146,7 @@ def render_courseware(request, usage_key): context to render the courseware. """ # return an HttpResponse object that contains the template and necessary context to render the courseware. - from courseware.views.views import render_xblock + from lms.djangoapps.courseware.views.views import render_xblock return render_xblock(request, six.text_type(usage_key), check_if_enrolled=False) diff --git a/lms/djangoapps/mobile_api/course_info/views.py b/lms/djangoapps/mobile_api/course_info/views.py index 7e8d5271959..ab66f7853e9 100644 --- a/lms/djangoapps/mobile_api/course_info/views.py +++ b/lms/djangoapps/mobile_api/course_info/views.py @@ -7,7 +7,7 @@ from __future__ import absolute_import from rest_framework import generics from rest_framework.response import Response -from courseware.courses import get_course_info_section_module +from lms.djangoapps.courseware.courses import get_course_info_section_module from openedx.core.lib.xblock_utils import get_course_update_items from static_replace import make_static_urls_absolute diff --git a/lms/djangoapps/mobile_api/tests/test_milestones.py b/lms/djangoapps/mobile_api/tests/test_milestones.py index 9515a254608..7aab67c34fb 100644 --- a/lms/djangoapps/mobile_api/tests/test_milestones.py +++ b/lms/djangoapps/mobile_api/tests/test_milestones.py @@ -8,8 +8,8 @@ from crum import set_current_request from django.conf import settings from mock import patch -from courseware.access_response import MilestoneAccessError -from courseware.tests.test_entrance_exam import add_entrance_exam_milestone, answer_entrance_exam_problem +from lms.djangoapps.courseware.access_response import MilestoneAccessError +from lms.djangoapps.courseware.tests.test_entrance_exam import add_entrance_exam_milestone, answer_entrance_exam_problem from openedx.core.djangolib.testing.utils import get_mock_request from util.milestones_helpers import add_prerequisite_course, fulfill_course_milestone from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory diff --git a/lms/djangoapps/mobile_api/testutils.py b/lms/djangoapps/mobile_api/testutils.py index e056d5035bf..50bf949e415 100644 --- a/lms/djangoapps/mobile_api/testutils.py +++ b/lms/djangoapps/mobile_api/testutils.py @@ -25,8 +25,8 @@ from mock import patch from opaque_keys.edx.keys import CourseKey from rest_framework.test import APITestCase -from courseware.access_response import MobileAvailabilityError, StartDateError, VisibilityError -from courseware.tests.factories import UserFactory +from lms.djangoapps.courseware.access_response import MobileAvailabilityError, StartDateError, VisibilityError +from lms.djangoapps.courseware.tests.factories import UserFactory from mobile_api.models import IgnoreMobileAvailableFlagConfig from mobile_api.tests.test_milestones import MobileAPIMilestonesMixin from mobile_api.utils import API_V1 diff --git a/lms/djangoapps/mobile_api/users/serializers.py b/lms/djangoapps/mobile_api/users/serializers.py index 45f9f96779c..c985dfba9b1 100644 --- a/lms/djangoapps/mobile_api/users/serializers.py +++ b/lms/djangoapps/mobile_api/users/serializers.py @@ -8,7 +8,7 @@ import six from rest_framework import serializers from rest_framework.reverse import reverse -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access from lms.djangoapps.certificates.api import certificate_downloadable_status from openedx.features.course_duration_limits.access import get_user_course_expiration_date from openedx.features.course_duration_limits.models import CourseDurationLimitConfig diff --git a/lms/djangoapps/mobile_api/users/tests.py b/lms/djangoapps/mobile_api/users/tests.py index 8eb2dbdee1b..ee6eeba9655 100644 --- a/lms/djangoapps/mobile_api/users/tests.py +++ b/lms/djangoapps/mobile_api/users/tests.py @@ -19,7 +19,7 @@ from six.moves import range from six.moves.urllib.parse import parse_qs # pylint: disable=import-error from course_modes.models import CourseMode -from courseware.access_response import MilestoneAccessError, StartDateError, VisibilityError +from lms.djangoapps.courseware.access_response import MilestoneAccessError, StartDateError, VisibilityError from lms.djangoapps.certificates.api import generate_user_certificates from lms.djangoapps.certificates.models import CertificateStatuses from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory diff --git a/lms/djangoapps/mobile_api/users/views.py b/lms/djangoapps/mobile_api/users/views.py index 9c89da99e01..70f879f1774 100644 --- a/lms/djangoapps/mobile_api/users/views.py +++ b/lms/djangoapps/mobile_api/users/views.py @@ -15,11 +15,11 @@ from rest_framework.response import Response from xblock.fields import Scope from xblock.runtime import KeyValueStore -from courseware.access import is_mobile_available_for_user -from courseware.courses import get_current_child -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module_for_descriptor -from courseware.views.index import save_positions_recursively_up +from lms.djangoapps.courseware.access import is_mobile_available_for_user +from lms.djangoapps.courseware.courses import get_current_child +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module_for_descriptor +from lms.djangoapps.courseware.views.index import save_positions_recursively_up from lms.djangoapps.courseware.access_utils import ACCESS_GRANTED from mobile_api.utils import API_V05 from openedx.features.course_duration_limits.access import check_course_expired diff --git a/lms/djangoapps/oauth2_handler/handlers.py b/lms/djangoapps/oauth2_handler/handlers.py index c8b8ad9211f..85bf6cedf51 100644 --- a/lms/djangoapps/oauth2_handler/handlers.py +++ b/lms/djangoapps/oauth2_handler/handlers.py @@ -6,7 +6,7 @@ import six from django.conf import settings from django.core.cache import cache -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY from openedx.core.djangoapps.user_api.models import UserPreference diff --git a/lms/djangoapps/shoppingcart/models.py b/lms/djangoapps/shoppingcart/models.py index a3669f83083..f49c9ff7285 100644 --- a/lms/djangoapps/shoppingcart/models.py +++ b/lms/djangoapps/shoppingcart/models.py @@ -35,7 +35,7 @@ from six import text_type from six.moves import range from course_modes.models import CourseMode -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from edxmako.shortcuts import render_to_string from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers from openedx.core.djangolib.markup import HTML, Text diff --git a/lms/djangoapps/shoppingcart/reports.py b/lms/djangoapps/shoppingcart/reports.py index 15b30a664e9..322903c5e7b 100644 --- a/lms/djangoapps/shoppingcart/reports.py +++ b/lms/djangoapps/shoppingcart/reports.py @@ -11,7 +11,7 @@ import six from six import text_type from course_modes.models import CourseMode -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from shoppingcart.models import CertificateItem, OrderItem from student.models import CourseEnrollment from util.query import use_read_replica_if_available diff --git a/lms/djangoapps/shoppingcart/tests/test_views.py b/lms/djangoapps/shoppingcart/tests/test_views.py index 43dc7c01dea..db448838ce5 100644 --- a/lms/djangoapps/shoppingcart/tests/test_views.py +++ b/lms/djangoapps/shoppingcart/tests/test_views.py @@ -31,7 +31,7 @@ from six.moves.urllib.parse import urlparse # pylint: disable=import-error from common.test.utils import XssTestMixin from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.tests.factories import InstructorFactory +from lms.djangoapps.courseware.tests.factories import InstructorFactory from edxmako.shortcuts import render_to_response from openedx.core.djangoapps.embargo.test_utils import restrict_course from shoppingcart.admin import SoftDeleteCouponAdmin diff --git a/lms/djangoapps/shoppingcart/views.py b/lms/djangoapps/shoppingcart/views.py index 1295341e3bf..645ffb0a6c2 100644 --- a/lms/djangoapps/shoppingcart/views.py +++ b/lms/djangoapps/shoppingcart/views.py @@ -33,7 +33,7 @@ from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.locator import CourseLocator from course_modes.models import CourseMode -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from edxmako.shortcuts import render_to_response from openedx.core.djangoapps.embargo import api as embargo_api from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers diff --git a/lms/djangoapps/staticbook/views.py b/lms/djangoapps/staticbook/views.py index 2e0e33198b5..d184bfe1e40 100644 --- a/lms/djangoapps/staticbook/views.py +++ b/lms/djangoapps/staticbook/views.py @@ -9,8 +9,8 @@ from django.http import Http404 from django.views.decorators.clickjacking import xframe_options_exempt from opaque_keys.edx.keys import CourseKey -from courseware.access import has_access -from courseware.courses import get_course_with_access +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import get_course_with_access from edxmako.shortcuts import render_to_response from static_replace import replace_static_urls diff --git a/lms/djangoapps/support/decorators.py b/lms/djangoapps/support/decorators.py index 7bf63b60412..a1971e218ee 100644 --- a/lms/djangoapps/support/decorators.py +++ b/lms/djangoapps/support/decorators.py @@ -8,7 +8,7 @@ from functools import wraps from django.contrib.auth.decorators import login_required from django.http import HttpResponseForbidden -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access def require_support_permission(func): diff --git a/lms/djangoapps/survey/utils.py b/lms/djangoapps/survey/utils.py index a8ebf60b14d..5cc90a574ef 100644 --- a/lms/djangoapps/survey/utils.py +++ b/lms/djangoapps/survey/utils.py @@ -3,7 +3,7 @@ Utilities for determining whether or not a survey needs to be completed. """ from __future__ import absolute_import -from courseware.access import has_access +from lms.djangoapps.courseware.access import has_access from survey.models import SurveyAnswer, SurveyForm diff --git a/lms/djangoapps/teams/plugins.py b/lms/djangoapps/teams/plugins.py index 15ca141de69..3aefdd4b47d 100644 --- a/lms/djangoapps/teams/plugins.py +++ b/lms/djangoapps/teams/plugins.py @@ -5,7 +5,7 @@ from __future__ import absolute_import from django.utils.translation import ugettext_noop -from courseware.tabs import EnrolledTab +from lms.djangoapps.courseware.tabs import EnrolledTab from . import is_feature_enabled diff --git a/lms/djangoapps/teams/tests/test_views.py b/lms/djangoapps/teams/tests/test_views.py index 566ff6a0cd3..0e65314ba5c 100644 --- a/lms/djangoapps/teams/tests/test_views.py +++ b/lms/djangoapps/teams/tests/test_views.py @@ -20,7 +20,7 @@ from search.search_engine_base import SearchEngine from six.moves import range from common.test.utils import skip_signal -from courseware.tests.factories import StaffFactory +from lms.djangoapps.courseware.tests.factories import StaffFactory from openedx.core.djangoapps.django_comment_common.models import FORUM_ROLE_COMMUNITY_TA, Role from openedx.core.djangoapps.django_comment_common.utils import seed_permissions_roles from student.models import CourseEnrollment diff --git a/lms/djangoapps/teams/views.py b/lms/djangoapps/teams/views.py index 95668815f78..bf95e1a5329 100644 --- a/lms/djangoapps/teams/views.py +++ b/lms/djangoapps/teams/views.py @@ -25,7 +25,7 @@ from rest_framework.reverse import reverse from rest_framework.views import APIView from rest_framework_oauth.authentication import OAuth2Authentication -from courseware.courses import get_course_with_access, has_access +from lms.djangoapps.courseware.courses import get_course_with_access, has_access from lms.djangoapps.discussion.django_comment_client.utils import has_discussion_privileges from lms.djangoapps.teams.models import CourseTeam, CourseTeamMembership from openedx.core.lib.api.parsers import MergePatchParser diff --git a/lms/envs/common.py b/lms/envs/common.py index fd14163cf2a..6dd24088cf5 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -669,7 +669,7 @@ CONTEXT_PROCESSORS = [ 'shoppingcart.context_processor.user_has_cart_context_processor', # Timezone processor (sends language and time_zone preference) - 'courseware.context_processor.user_timezone_locale_prefs', + 'lms.djangoapps.courseware.context_processor.user_timezone_locale_prefs', # Online contextual help 'help_tokens.context_processor', @@ -1498,8 +1498,8 @@ MIDDLEWARE_CLASSES = [ 'django.middleware.clickjacking.XFrameOptionsMiddleware', # to redirected unenrolled students to the course info page - 'courseware.middleware.CacheCourseIdMiddleware', - 'courseware.middleware.RedirectMiddleware', + 'lms.djangoapps.courseware.middleware.CacheCourseIdMiddleware', + 'lms.djangoapps.courseware.middleware.RedirectMiddleware', 'course_wiki.middleware.WikiAccessMiddleware', @@ -2272,7 +2272,7 @@ INSTALLED_APPS = [ 'openedx.core.djangoapps.video_pipeline', # Our courseware - 'courseware', + 'lms.djangoapps.courseware', 'coursewarehistoryextended', 'student.apps.StudentConfig', diff --git a/lms/envs/production.py b/lms/envs/production.py index 0652f11dcee..ad69fc733d0 100644 --- a/lms/envs/production.py +++ b/lms/envs/production.py @@ -859,7 +859,7 @@ XBLOCK_FIELD_DATA_WRAPPERS += ( ) MODULESTORE_FIELD_OVERRIDE_PROVIDERS += ( - 'courseware.self_paced_overrides.SelfPacedDateOverrideProvider', + 'lms.djangoapps.courseware.self_paced_overrides.SelfPacedDateOverrideProvider', ) # PROFILE IMAGE CONFIG diff --git a/lms/lib/courseware_search/lms_search_initializer.py b/lms/lib/courseware_search/lms_search_initializer.py index f668cd245ef..fc5ed25af4c 100644 --- a/lms/lib/courseware_search/lms_search_initializer.py +++ b/lms/lib/courseware_search/lms_search_initializer.py @@ -8,8 +8,8 @@ from __future__ import absolute_import from opaque_keys.edx.keys import CourseKey from search.initializer import SearchInitializer -from courseware.access import has_access -from courseware.masquerade import setup_masquerade +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.masquerade import setup_masquerade class LmsSearchInitializer(SearchInitializer): diff --git a/lms/lib/courseware_search/test/test_lms_result_processor.py b/lms/lib/courseware_search/test/test_lms_result_processor.py index b55b7238aaa..4731bbbe122 100644 --- a/lms/lib/courseware_search/test/test_lms_result_processor.py +++ b/lms/lib/courseware_search/test/test_lms_result_processor.py @@ -5,7 +5,7 @@ from __future__ import absolute_import import six -from courseware.tests.factories import UserFactory +from lms.djangoapps.courseware.tests.factories import UserFactory from lms.lib.courseware_search.lms_result_processor import LmsSearchResultProcessor from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html index 3eea1aedc5b..cb999d85463 100644 --- a/lms/templates/courseware/course_about.html +++ b/lms/templates/courseware/course_about.html @@ -4,7 +4,7 @@ from django.utils.translation import ugettext as _ from django.utils.translation import pgettext from django.urls import reverse -from courseware.courses import get_course_about_section +from lms.djangoapps.courseware.courses import get_course_about_section from django.conf import settings from six import text_type from edxmako.shortcuts import marketing_link diff --git a/lms/templates/courseware/course_navigation.html b/lms/templates/courseware/course_navigation.html index 44958122af8..5946d7319b3 100644 --- a/lms/templates/courseware/course_navigation.html +++ b/lms/templates/courseware/course_navigation.html @@ -4,7 +4,7 @@ <%namespace name='static' file='/static_content.html'/> <%! -from courseware.tabs import get_course_tab_list +from lms.djangoapps.courseware.tabs import get_course_tab_list from django.conf import settings from django.urls import reverse from django.utils.translation import ugettext as _ diff --git a/lms/templates/courseware/info.html b/lms/templates/courseware/info.html index 29067cfecbf..4fea8989a9c 100644 --- a/lms/templates/courseware/info.html +++ b/lms/templates/courseware/info.html @@ -9,7 +9,7 @@ from pytz import timezone, utc from django.urls import reverse from django.utils.translation import ugettext as _ -from courseware.courses import get_course_info_section, get_course_date_blocks +from lms.djangoapps.courseware.courses import get_course_info_section, get_course_date_blocks from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration from openedx.core.djangolib.markup import HTML, Text %> diff --git a/lms/templates/courseware/syllabus.html b/lms/templates/courseware/syllabus.html index e4c05cf6faa..f2cff56fb03 100644 --- a/lms/templates/courseware/syllabus.html +++ b/lms/templates/courseware/syllabus.html @@ -3,7 +3,7 @@ <%namespace name='static' file='/static_content.html'/> <%! from django.utils.translation import ugettext as _ -from courseware.courses import get_course_syllabus_section +from lms.djangoapps.courseware.courses import get_course_syllabus_section %> <%block name="headextra"> diff --git a/lms/templates/enroll_staff.html b/lms/templates/enroll_staff.html index 3a5a093d5ef..9a2e534769c 100644 --- a/lms/templates/enroll_staff.html +++ b/lms/templates/enroll_staff.html @@ -4,7 +4,7 @@ <%! from django.utils.translation import ugettext as _ from django.utils.translation import pgettext - from courseware.courses import get_course_about_section + from lms.djangoapps.courseware.courses import get_course_about_section %> <%block name="headextra"> diff --git a/lms/templates/instructor/instructor_dashboard_2/cohort_management.html b/lms/templates/instructor/instructor_dashboard_2/cohort_management.html index 9aa5c6c863f..bcdb171c3f4 100644 --- a/lms/templates/instructor/instructor_dashboard_2/cohort_management.html +++ b/lms/templates/instructor/instructor_dashboard_2/cohort_management.html @@ -4,7 +4,7 @@ <%! from django.utils.translation import ugettext as _ from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json -from courseware.courses import get_studio_url +from lms.djangoapps.courseware.courses import get_studio_url from openedx.core.djangoapps.course_groups.partition_scheme import get_cohorted_user_partition %> diff --git a/lms/templates/instructor/instructor_dashboard_2/discussions_management.html b/lms/templates/instructor/instructor_dashboard_2/discussions_management.html index 326bd8ea8c1..5b90141bb11 100644 --- a/lms/templates/instructor/instructor_dashboard_2/discussions_management.html +++ b/lms/templates/instructor/instructor_dashboard_2/discussions_management.html @@ -4,7 +4,7 @@ <%! from django.utils.translation import ugettext as _ from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json -from courseware.courses import get_studio_url +from lms.djangoapps.courseware.courses import get_studio_url from openedx.core.djangoapps.course_groups.partition_scheme import get_cohorted_user_partition %> diff --git a/lms/templates/video_modal.html b/lms/templates/video_modal.html index be276e42598..5ca22b1b417 100644 --- a/lms/templates/video_modal.html +++ b/lms/templates/video_modal.html @@ -1,5 +1,5 @@ <%! - from courseware.courses import get_course_about_section + from lms.djangoapps.courseware.courses import get_course_about_section %> <%namespace name='static' file='static_content.html'/> diff --git a/lms/urls.py b/lms/urls.py index 6cac692fbfc..bb8f2d6c3a7 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -14,11 +14,13 @@ from django.views.generic.base import RedirectView from ratelimitbackend import admin from branding import views as branding_views -from courseware.masquerade import handle_ajax as courseware_masquerade_handle_ajax -from courseware.module_render import handle_xblock_callback, handle_xblock_callback_noauth, xblock_view, xqueue_callback -from courseware.views import views as courseware_views -from courseware.views.index import CoursewareIndex -from courseware.views.views import CourseTabView, EnrollStaffView, StaticCourseTabView +from lms.djangoapps.courseware.masquerade import handle_ajax as courseware_masquerade_handle_ajax +from lms.djangoapps.courseware.module_render import ( + handle_xblock_callback, handle_xblock_callback_noauth, xblock_view, xqueue_callback, +) +from lms.djangoapps.courseware.views import views as courseware_views +from lms.djangoapps.courseware.views.index import CoursewareIndex +from lms.djangoapps.courseware.views.views import CourseTabView, EnrollStaffView, StaticCourseTabView from debug import views as debug_views from lms.djangoapps.certificates import views as certificates_views from lms.djangoapps.discussion import views as discussion_views diff --git a/openedx/core/djangoapps/content_libraries/tests/test_runtime.py b/openedx/core/djangoapps/content_libraries/tests/test_runtime.py index 365e209caf6..c863e7afa18 100644 --- a/openedx/core/djangoapps/content_libraries/tests/test_runtime.py +++ b/openedx/core/djangoapps/content_libraries/tests/test_runtime.py @@ -13,7 +13,7 @@ from rest_framework.test import APIClient from xblock.core import XBlock, Scope from xblock import fields -from courseware.model_data import get_score +from lms.djangoapps.courseware.model_data import get_score from openedx.core.djangoapps.content_libraries import api as library_api from openedx.core.djangoapps.content_libraries.tests.test_content_libraries import ( URL_BLOCK_RENDER_VIEW, diff --git a/openedx/core/djangoapps/course_groups/cohorts.py b/openedx/core/djangoapps/course_groups/cohorts.py index f4d0245b450..3b6950704c0 100644 --- a/openedx/core/djangoapps/course_groups/cohorts.py +++ b/openedx/core/djangoapps/course_groups/cohorts.py @@ -20,7 +20,7 @@ from django.utils.translation import ugettext as _ from edx_django_utils.cache import RequestCache from eventtracking import tracker -from courseware import courses +from lms.djangoapps.courseware import courses from openedx.core.lib.cache_utils import request_cached from student.models import get_user_by_username_or_email diff --git a/openedx/core/djangoapps/course_groups/partition_scheme.py b/openedx/core/djangoapps/course_groups/partition_scheme.py index fc5b062b63b..2b851971bb6 100644 --- a/openedx/core/djangoapps/course_groups/partition_scheme.py +++ b/openedx/core/djangoapps/course_groups/partition_scheme.py @@ -5,7 +5,7 @@ from __future__ import absolute_import import logging -from courseware.masquerade import ( +from lms.djangoapps.courseware.masquerade import ( get_course_masquerade, get_masquerading_user_group, is_masquerading_as_specific_student diff --git a/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py b/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py index 3751fe46e69..80cc1d324d4 100644 --- a/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py +++ b/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py @@ -8,7 +8,7 @@ import django.test from mock import patch from six.moves import range -from courseware.tests.test_masquerade import StaffMasqueradeTestCase +from lms.djangoapps.courseware.tests.test_masquerade import StaffMasqueradeTestCase from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme from openedx.core.djangolib.testing.utils import skip_unless_lms from student.tests.factories import UserFactory diff --git a/openedx/core/djangoapps/course_groups/views.py b/openedx/core/djangoapps/course_groups/views.py index 696e0fcc469..10581fc79d0 100644 --- a/openedx/core/djangoapps/course_groups/views.py +++ b/openedx/core/djangoapps/course_groups/views.py @@ -26,7 +26,7 @@ from rest_framework.generics import GenericAPIView from rest_framework.response import Response from rest_framework.serializers import Serializer -from courseware.courses import get_course, get_course_with_access +from lms.djangoapps.courseware.courses import get_course, get_course_with_access from edxmako.shortcuts import render_to_response from openedx.core.djangoapps.course_groups.models import CohortMembership from openedx.core.lib.api.authentication import OAuth2AuthenticationAllowInactiveUser diff --git a/openedx/core/djangoapps/enrollments/permissions.py b/openedx/core/djangoapps/enrollments/permissions.py index 85edfca43b3..b4a6754ecc7 100644 --- a/openedx/core/djangoapps/enrollments/permissions.py +++ b/openedx/core/djangoapps/enrollments/permissions.py @@ -3,7 +3,7 @@ Permission definitions for the enrollments djangoapp """ from bridgekeeper import perms -from courseware.rules import HasAccessRule +from lms.djangoapps.courseware.rules import HasAccessRule ENROLL_IN_COURSE = 'enrollment.enroll_in_course' diff --git a/openedx/core/djangoapps/schedules/content_highlights.py b/openedx/core/djangoapps/schedules/content_highlights.py index 1962472325c..c9f47fc2cf7 100644 --- a/openedx/core/djangoapps/schedules/content_highlights.py +++ b/openedx/core/djangoapps/schedules/content_highlights.py @@ -6,8 +6,8 @@ from __future__ import absolute_import import logging -from courseware.model_data import FieldDataCache -from courseware.module_render import get_module_for_descriptor +from lms.djangoapps.courseware.model_data import FieldDataCache +from lms.djangoapps.courseware.module_render import get_module_for_descriptor from openedx.core.djangoapps.schedules.config import COURSE_UPDATE_WAFFLE_FLAG from openedx.core.djangoapps.schedules.exceptions import CourseUpdateDoesNotExist from openedx.core.lib.request_utils import get_request_or_stub diff --git a/openedx/core/djangoapps/schedules/management/commands/tests/send_email_base.py b/openedx/core/djangoapps/schedules/management/commands/tests/send_email_base.py index e80dae6bdae..73de50ba80d 100644 --- a/openedx/core/djangoapps/schedules/management/commands/tests/send_email_base.py +++ b/openedx/core/djangoapps/schedules/management/commands/tests/send_email_base.py @@ -24,7 +24,7 @@ from six.moves import range from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.models import DynamicUpgradeDeadlineConfiguration +from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration from lms.djangoapps.commerce.models import CommerceConfiguration from openedx.core.djangoapps.schedules import resolvers, tasks from openedx.core.djangoapps.schedules.resolvers import _get_datetime_beginning_of_day diff --git a/openedx/core/djangoapps/schedules/management/commands/tests/upsell_base.py b/openedx/core/djangoapps/schedules/management/commands/tests/upsell_base.py index c6d3359ba39..75c27ae0f6c 100644 --- a/openedx/core/djangoapps/schedules/management/commands/tests/upsell_base.py +++ b/openedx/core/djangoapps/schedules/management/commands/tests/upsell_base.py @@ -13,7 +13,7 @@ from edx_ace.utils.date import serialize from freezegun import freeze_time from mock import PropertyMock, patch -from courseware.models import DynamicUpgradeDeadlineConfiguration +from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration @ddt.ddt diff --git a/openedx/core/djangoapps/schedules/resolvers.py b/openedx/core/djangoapps/schedules/resolvers.py index 13fda216970..aef414639d7 100644 --- a/openedx/core/djangoapps/schedules/resolvers.py +++ b/openedx/core/djangoapps/schedules/resolvers.py @@ -14,7 +14,7 @@ from edx_ace.recipient import Recipient from edx_ace.recipient_resolver import RecipientResolver from edx_django_utils.monitoring import function_trace, set_custom_metric -from courseware.date_summary import verified_upgrade_deadline_link, verified_upgrade_link_is_valid +from lms.djangoapps.courseware.date_summary import verified_upgrade_deadline_link, verified_upgrade_link_is_valid from openedx.core.djangoapps.ace_common.template_context import get_base_template_context from openedx.core.djangoapps.schedules.content_highlights import get_week_highlights from openedx.core.djangoapps.schedules.exceptions import CourseUpdateDoesNotExist diff --git a/openedx/core/djangoapps/schedules/signals.py b/openedx/core/djangoapps/schedules/signals.py index 8e01b9a79bb..96c320ef6f9 100644 --- a/openedx/core/djangoapps/schedules/signals.py +++ b/openedx/core/djangoapps/schedules/signals.py @@ -10,7 +10,7 @@ from django.dispatch import receiver from edx_ace.utils import date from course_modes.models import CourseMode -from courseware.models import ( +from lms.djangoapps.courseware.models import ( CourseDynamicUpgradeDeadlineConfiguration, DynamicUpgradeDeadlineConfiguration, OrgDynamicUpgradeDeadlineConfiguration diff --git a/openedx/core/djangoapps/schedules/tests/test_signals.py b/openedx/core/djangoapps/schedules/tests/test_signals.py index e5fe9302684..6d94e84feaf 100644 --- a/openedx/core/djangoapps/schedules/tests/test_signals.py +++ b/openedx/core/djangoapps/schedules/tests/test_signals.py @@ -12,7 +12,7 @@ from pytz import utc from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.models import DynamicUpgradeDeadlineConfiguration +from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration from openedx.core.djangoapps.schedules.models import ScheduleExperience from openedx.core.djangoapps.schedules.signals import CREATE_SCHEDULE_WAFFLE_FLAG from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory diff --git a/openedx/core/djangoapps/theming/tests/test_views.py b/openedx/core/djangoapps/theming/tests/test_views.py index e69a0baf468..0da252a511c 100644 --- a/openedx/core/djangoapps/theming/tests/test_views.py +++ b/openedx/core/djangoapps/theming/tests/test_views.py @@ -9,7 +9,7 @@ from django.contrib.messages.middleware import MessageMiddleware from django.contrib.sites.models import Site from django.test import TestCase -from courseware.tests.factories import GlobalStaffFactory +from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory from openedx.core.djangoapps.theming.middleware import CurrentSiteThemeMiddleware from student.tests.factories import UserFactory diff --git a/openedx/core/djangoapps/verified_track_content/partition_scheme.py b/openedx/core/djangoapps/verified_track_content/partition_scheme.py index 05d82c7311f..c0579f71541 100644 --- a/openedx/core/djangoapps/verified_track_content/partition_scheme.py +++ b/openedx/core/djangoapps/verified_track_content/partition_scheme.py @@ -7,7 +7,7 @@ import logging import six from course_modes.models import CourseMode -from courseware.masquerade import ( +from lms.djangoapps.courseware.masquerade import ( get_course_masquerade, get_masquerading_user_group, is_masquerading_as_specific_student diff --git a/openedx/core/djangoapps/xblock/runtime/runtime.py b/openedx/core/djangoapps/xblock/runtime/runtime.py index be68a187847..e891e9698c3 100644 --- a/openedx/core/djangoapps/xblock/runtime/runtime.py +++ b/openedx/core/djangoapps/xblock/runtime/runtime.py @@ -18,7 +18,7 @@ from xblock.fields import Scope from xblock.runtime import DictKeyValueStore, KvsFieldData, NullI18nService, MemoryIdManager, Runtime from web_fragments.fragment import Fragment -from courseware.model_data import DjangoKeyValueStore, FieldDataCache +from lms.djangoapps.courseware.model_data import DjangoKeyValueStore, FieldDataCache from lms.djangoapps.grades.api import signals as grades_signals from openedx.core.djangoapps.xblock.apps import get_xblock_app_config from openedx.core.djangoapps.xblock.runtime.blockstore_field_data import BlockstoreFieldData diff --git a/openedx/features/course_bookmarks/plugins.py b/openedx/features/course_bookmarks/plugins.py index 7ec78dca966..7a73a7ac9d2 100644 --- a/openedx/features/course_bookmarks/plugins.py +++ b/openedx/features/course_bookmarks/plugins.py @@ -7,7 +7,7 @@ from __future__ import absolute_import from django.urls import reverse from django.utils.translation import ugettext as _ -from courseware.permissions import EDIT_BOOKMARK +from lms.djangoapps.courseware.permissions import EDIT_BOOKMARK from openedx.features.course_experience.course_tools import CourseTool from student.models import CourseEnrollment diff --git a/openedx/features/course_bookmarks/views/course_bookmarks.py b/openedx/features/course_bookmarks/views/course_bookmarks.py index e8333425ad6..6d27e99a2db 100644 --- a/openedx/features/course_bookmarks/views/course_bookmarks.py +++ b/openedx/features/course_bookmarks/views/course_bookmarks.py @@ -18,7 +18,7 @@ from django.views.generic import View from opaque_keys.edx.keys import CourseKey from web_fragments.fragment import Fragment -from courseware.courses import get_course_with_access +from lms.djangoapps.courseware.courses import get_course_with_access from openedx.core.djangoapps.plugin_api.views import EdxFragmentView from openedx.core.djangoapps.user_api.models import UserPreference from openedx.features.course_experience import default_course_url_name diff --git a/openedx/features/course_duration_limits/resolvers.py b/openedx/features/course_duration_limits/resolvers.py index d22a36b83e5..9d3dfc68ede 100644 --- a/openedx/features/course_duration_limits/resolvers.py +++ b/openedx/features/course_duration_limits/resolvers.py @@ -14,7 +14,7 @@ from django.utils.translation import ugettext as _ from eventtracking import tracker from course_modes.models import CourseMode -from courseware.date_summary import verified_upgrade_deadline_link +from lms.djangoapps.courseware.date_summary import verified_upgrade_deadline_link from lms.djangoapps.experiments.stable_bucketing import stable_bucketing_hash_group from openedx.core.djangoapps.catalog.utils import get_course_run_details from openedx.core.djangoapps.schedules.resolvers import ( diff --git a/openedx/features/course_duration_limits/tests/test_access.py b/openedx/features/course_duration_limits/tests/test_access.py index bb16792afda..e870888ea21 100644 --- a/openedx/features/course_duration_limits/tests/test_access.py +++ b/openedx/features/course_duration_limits/tests/test_access.py @@ -11,7 +11,7 @@ from pytz import UTC from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.models import DynamicUpgradeDeadlineConfiguration +from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory from openedx.core.djangolib.testing.utils import CacheIsolationTestCase from openedx.features.course_duration_limits.access import ( diff --git a/openedx/features/course_experience/plugins.py b/openedx/features/course_experience/plugins.py index 9b25ada0b10..e53d70a1996 100644 --- a/openedx/features/course_experience/plugins.py +++ b/openedx/features/course_experience/plugins.py @@ -8,7 +8,7 @@ from __future__ import absolute_import from django.urls import reverse from django.utils.translation import ugettext as _ -from courseware.courses import get_course_by_id +from lms.djangoapps.courseware.courses import get_course_by_id from student.models import CourseEnrollment from . import SHOW_REVIEWS_TOOL_FLAG, UNIFIED_COURSE_TAB_FLAG diff --git a/openedx/features/course_experience/tests/views/test_course_home.py b/openedx/features/course_experience/tests/views/test_course_home.py index 5dc36870dba..95a6aaeb970 100644 --- a/openedx/features/course_experience/tests/views/test_course_home.py +++ b/openedx/features/course_experience/tests/views/test_course_home.py @@ -20,7 +20,7 @@ from waffle.testutils import override_flag from course_modes.models import CourseMode from course_modes.tests.factories import CourseModeFactory -from courseware.tests.helpers import get_expiration_banner_text +from lms.djangoapps.courseware.tests.helpers import get_expiration_banner_text from experiments.models import ExperimentData from lms.djangoapps.commerce.models import CommerceConfiguration from lms.djangoapps.commerce.utils import EcommerceService diff --git a/openedx/features/course_experience/tests/views/test_course_outline.py b/openedx/features/course_experience/tests/views/test_course_outline.py index 6b7266c5c33..bcc2030fc9d 100644 --- a/openedx/features/course_experience/tests/views/test_course_outline.py +++ b/openedx/features/course_experience/tests/views/test_course_outline.py @@ -22,7 +22,7 @@ from six import text_type from waffle.models import Switch from waffle.testutils import override_switch -from courseware.tests.factories import StaffFactory +from lms.djangoapps.courseware.tests.factories import StaffFactory from gating import api as lms_gating_api from lms.djangoapps.course_api.blocks.transformers.milestones import MilestonesAndSpecialExamsTransformer from openedx.core.lib.gating import api as gating_api diff --git a/openedx/features/course_experience/tests/views/test_course_updates.py b/openedx/features/course_experience/tests/views/test_course_updates.py index 4a00d6c8868..e56705cfa18 100644 --- a/openedx/features/course_experience/tests/views/test_course_updates.py +++ b/openedx/features/course_experience/tests/views/test_course_updates.py @@ -8,7 +8,7 @@ from datetime import datetime import six from django.urls import reverse -from courseware.courses import get_course_info_usage_key +from lms.djangoapps.courseware.courses import get_course_info_usage_key from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES from openedx.features.content_type_gating.models import ContentTypeGatingConfig from openedx.features.course_experience.views.course_updates import STATUS_VISIBLE diff --git a/openedx/features/course_experience/views/course_dates.py b/openedx/features/course_experience/views/course_dates.py index d272c037daf..3fdd70d6c8a 100644 --- a/openedx/features/course_experience/views/course_dates.py +++ b/openedx/features/course_experience/views/course_dates.py @@ -9,7 +9,7 @@ from django.utils.translation import get_language_bidi from opaque_keys.edx.keys import CourseKey from web_fragments.fragment import Fragment -from courseware.courses import get_course_date_blocks, get_course_with_access +from lms.djangoapps.courseware.courses import get_course_date_blocks, get_course_with_access from openedx.core.djangoapps.plugin_api.views import EdxFragmentView diff --git a/openedx/features/course_experience/views/course_home.py b/openedx/features/course_experience/views/course_home.py index 3704918838a..aeace743fa7 100644 --- a/openedx/features/course_experience/views/course_home.py +++ b/openedx/features/course_experience/views/course_home.py @@ -14,8 +14,8 @@ from django.views.decorators.csrf import ensure_csrf_cookie from opaque_keys.edx.keys import CourseKey from web_fragments.fragment import Fragment -from courseware.access import has_access -from courseware.courses import can_self_enroll_in_course, get_course_info_section, get_course_with_access +from lms.djangoapps.courseware.access import has_access +from lms.djangoapps.courseware.courses import can_self_enroll_in_course, get_course_info_section, get_course_with_access from lms.djangoapps.commerce.utils import EcommerceService from lms.djangoapps.course_goals.api import ( get_course_goal, diff --git a/openedx/features/course_experience/views/course_home_messages.py b/openedx/features/course_experience/views/course_home_messages.py index 655fb140925..e89bfd3619b 100644 --- a/openedx/features/course_experience/views/course_home_messages.py +++ b/openedx/features/course_experience/views/course_home_messages.py @@ -17,7 +17,7 @@ from pytz import UTC from web_fragments.fragment import Fragment from course_modes.models import CourseMode -from courseware.courses import get_course_date_blocks, get_course_with_access +from lms.djangoapps.courseware.courses import get_course_date_blocks, get_course_with_access from lms.djangoapps.course_goals.api import ( get_course_goal, get_course_goal_options, diff --git a/openedx/features/course_experience/views/course_outline.py b/openedx/features/course_experience/views/course_outline.py index 66bf66bb3cf..7c524bf034a 100644 --- a/openedx/features/course_experience/views/course_outline.py +++ b/openedx/features/course_experience/views/course_outline.py @@ -15,7 +15,7 @@ from pytz import UTC from waffle.models import Switch from web_fragments.fragment import Fragment -from courseware.courses import get_course_overview_with_access +from lms.djangoapps.courseware.courses import get_course_overview_with_access from openedx.core.djangoapps.plugin_api.views import EdxFragmentView from student.models import CourseEnrollment from util.milestones_helpers import get_course_content_milestones diff --git a/openedx/features/course_experience/views/course_reviews.py b/openedx/features/course_experience/views/course_reviews.py index 5fac94e7c11..6a78e5817cb 100644 --- a/openedx/features/course_experience/views/course_reviews.py +++ b/openedx/features/course_experience/views/course_reviews.py @@ -13,7 +13,7 @@ from django.views.decorators.cache import cache_control from opaque_keys.edx.keys import CourseKey from web_fragments.fragment import Fragment -from courseware.courses import get_course_with_access +from lms.djangoapps.courseware.courses import get_course_with_access from lms.djangoapps.courseware.views.views import CourseTabView from openedx.core.djangoapps.plugin_api.views import EdxFragmentView from openedx.features.course_experience import default_course_url_name diff --git a/openedx/features/course_experience/views/course_sock.py b/openedx/features/course_experience/views/course_sock.py index f0ea47f2192..0961521ed53 100644 --- a/openedx/features/course_experience/views/course_sock.py +++ b/openedx/features/course_experience/views/course_sock.py @@ -6,7 +6,7 @@ from __future__ import absolute_import from django.template.loader import render_to_string from web_fragments.fragment import Fragment -from courseware.date_summary import verified_upgrade_deadline_link, verified_upgrade_link_is_valid +from lms.djangoapps.courseware.date_summary import verified_upgrade_deadline_link, verified_upgrade_link_is_valid from openedx.core.djangoapps.plugin_api.views import EdxFragmentView from openedx.features.discounts.utils import format_strikeout_price from student.models import CourseEnrollment diff --git a/openedx/features/course_experience/views/course_updates.py b/openedx/features/course_experience/views/course_updates.py index e6a417fbc5e..58dcb8108ee 100644 --- a/openedx/features/course_experience/views/course_updates.py +++ b/openedx/features/course_experience/views/course_updates.py @@ -15,7 +15,7 @@ from django.views.decorators.cache import cache_control from opaque_keys.edx.keys import CourseKey from web_fragments.fragment import Fragment -from courseware.courses import get_course_info_section_module, get_course_with_access +from lms.djangoapps.courseware.courses import get_course_info_section_module, get_course_with_access from lms.djangoapps.courseware.views.views import CourseTabView from openedx.core.djangoapps.plugin_api.views import EdxFragmentView from openedx.features.course_experience import default_course_url_name diff --git a/openedx/features/course_experience/views/latest_update.py b/openedx/features/course_experience/views/latest_update.py index c70b154c158..b12e8b600f6 100644 --- a/openedx/features/course_experience/views/latest_update.py +++ b/openedx/features/course_experience/views/latest_update.py @@ -12,7 +12,7 @@ from django.template.loader import render_to_string from opaque_keys.edx.keys import CourseKey from web_fragments.fragment import Fragment -from courseware.courses import get_course_with_access +from lms.djangoapps.courseware.courses import get_course_with_access from openedx.core.djangoapps.plugin_api.views import EdxFragmentView from openedx.features.course_experience.views.course_updates import get_ordered_updates diff --git a/openedx/features/course_experience/views/welcome_message.py b/openedx/features/course_experience/views/welcome_message.py index 5edcf5d7e24..2dc4d102f19 100644 --- a/openedx/features/course_experience/views/welcome_message.py +++ b/openedx/features/course_experience/views/welcome_message.py @@ -12,7 +12,7 @@ from django.views.decorators.csrf import ensure_csrf_cookie from opaque_keys.edx.keys import CourseKey from web_fragments.fragment import Fragment -from courseware.courses import get_course_with_access +from lms.djangoapps.courseware.courses import get_course_with_access from openedx.core.djangoapps.plugin_api.views import EdxFragmentView from openedx.core.djangoapps.user_api.course_tag.api import get_course_tag, set_course_tag diff --git a/openedx/features/course_search/views/course_search.py b/openedx/features/course_search/views/course_search.py index 149267fb394..2d0414e7dae 100644 --- a/openedx/features/course_search/views/course_search.py +++ b/openedx/features/course_search/views/course_search.py @@ -15,7 +15,7 @@ from django.views.decorators.csrf import ensure_csrf_cookie from opaque_keys.edx.keys import CourseKey from web_fragments.fragment import Fragment -from courseware.courses import get_course_overview_with_access +from lms.djangoapps.courseware.courses import get_course_overview_with_access from lms.djangoapps.courseware.views.views import CourseTabView from openedx.core.djangoapps.plugin_api.views import EdxFragmentView from openedx.features.course_experience import default_course_url_name diff --git a/openedx/tests/settings.py b/openedx/tests/settings.py index 434ee0da83a..c8923e151c6 100644 --- a/openedx/tests/settings.py +++ b/openedx/tests/settings.py @@ -70,7 +70,7 @@ INSTALLED_APPS = ( 'openedx.core.djangoapps.video_pipeline', 'openedx.core.djangoapps.bookmarks.apps.BookmarksConfig', 'edxval', - 'courseware', + 'lms.djangoapps.courseware', 'student', 'openedx.core.djangoapps.site_configuration', 'lms.djangoapps.grades.apps.GradesConfig', diff --git a/setup.py b/setup.py index 027ba4891d2..f1dff5cec67 100644 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ setup( "course_bookmarks = openedx.features.course_bookmarks.plugins:CourseBookmarksTool", "course_updates = openedx.features.course_experience.plugins:CourseUpdatesTool", "course_reviews = openedx.features.course_experience.plugins:CourseReviewsTool", - "verified_upgrade = courseware.course_tools:VerifiedUpgradeTool", + "verified_upgrade = lms.djangoapps.courseware.course_tools:VerifiedUpgradeTool", ], "openedx.user_partition_scheme": [ "random = openedx.core.djangoapps.user_api.partition_schemes:RandomUserPartitionScheme", diff --git a/themes/edx.org/lms/templates/dashboard.html b/themes/edx.org/lms/templates/dashboard.html index 04e2c84cad6..8dbbd82db73 100644 --- a/themes/edx.org/lms/templates/dashboard.html +++ b/themes/edx.org/lms/templates/dashboard.html @@ -6,7 +6,7 @@ import json import pytz import six -from courseware.context_processor import user_timezone_locale_prefs +from lms.djangoapps.courseware.context_processor import user_timezone_locale_prefs from datetime import datetime, timedelta from django.utils import timezone from django.utils.translation import ugettext as _ -- GitLab