From 79eaa4e2e9ed59b4bf1af120e8e450d9c0093b72 Mon Sep 17 00:00:00 2001 From: Sanford Student Date: Thu, 6 Oct 2016 10:09:07 -0400 Subject: [PATCH] update all references to instructor module --- lms/djangoapps/ccx/api/v0/tests/test_views.py | 4 +- lms/djangoapps/ccx/api/v0/views.py | 2 +- lms/djangoapps/ccx/tests/test_views.py | 4 +- lms/djangoapps/ccx/utils.py | 6 +- lms/djangoapps/ccx/views.py | 6 +- lms/djangoapps/courseware/views/views.py | 4 +- lms/djangoapps/instructor/access.py | 2 +- .../management/commands/compute_grades.py | 2 +- .../management/tests/test_compute_grades.py | 2 +- .../paidcourse_enrollment_report.py | 2 +- lms/djangoapps/instructor/services.py | 4 +- .../instructor/tests/test_access.py | 5 +- lms/djangoapps/instructor/tests/test_api.py | 74 +++++++----- .../instructor/tests/test_certificates.py | 2 +- .../instructor/tests/test_enrollment.py | 2 +- .../tests/test_enrollment_store_provider.py | 4 +- .../instructor/tests/test_services.py | 8 +- .../tests/views/test_instructor_dashboard.py | 8 +- lms/djangoapps/instructor/views/api.py | 10 +- lms/djangoapps/instructor/views/api_urls.py | 114 +++++++++--------- .../instructor/views/gradebook_api.py | 2 +- .../instructor/views/registration_codes.py | 4 +- .../instructor_task/tasks_helper.py | 2 +- lms/djangoapps/shoppingcart/models.py | 2 +- lms/envs/common.py | 2 +- lms/startup.py | 2 +- lms/urls.py | 18 +-- 27 files changed, 151 insertions(+), 146 deletions(-) diff --git a/lms/djangoapps/ccx/api/v0/tests/test_views.py b/lms/djangoapps/ccx/api/v0/tests/test_views.py index 3a5e683209..b28cee0a04 100644 --- a/lms/djangoapps/ccx/api/v0/tests/test_views.py +++ b/lms/djangoapps/ccx/api/v0/tests/test_views.py @@ -32,8 +32,8 @@ from courseware import courses from ccx_keys.locator import CCXLocator from student.models import CourseEnrollment from student.tests.factories import UserFactory -from instructor.access import allow_access, list_with_level -from instructor.enrollment import ( +from lms.djangoapps.instructor.access import allow_access, list_with_level +from lms.djangoapps.instructor.enrollment import ( enroll_email, get_email_params, ) diff --git a/lms/djangoapps/ccx/api/v0/views.py b/lms/djangoapps/ccx/api/v0/views.py index 74523bce71..cf871fdd62 100644 --- a/lms/djangoapps/ccx/api/v0/views.py +++ b/lms/djangoapps/ccx/api/v0/views.py @@ -19,7 +19,7 @@ from ccx_keys.locator import CCXLocator from courseware import courses from xmodule.modulestore.django import SignalHandler from edx_rest_framework_extensions.authentication import JwtAuthentication -from instructor.enrollment import ( +from lms.djangoapps.instructor.enrollment import ( enroll_email, get_email_params, ) diff --git a/lms/djangoapps/ccx/tests/test_views.py b/lms/djangoapps/ccx/tests/test_views.py index 6b8e7bc2e7..41436ecdb0 100644 --- a/lms/djangoapps/ccx/tests/test_views.py +++ b/lms/djangoapps/ccx/tests/test_views.py @@ -20,7 +20,7 @@ from courseware.testutils import FieldOverrideTestMixin from django_comment_client.utils import has_forum_access from django_comment_common.models import FORUM_ROLE_ADMINISTRATOR from django_comment_common.utils import are_permissions_roles_seeded -from instructor.access import ( +from lms.djangoapps.instructor.access import ( allow_access, list_with_level, ) @@ -1159,7 +1159,7 @@ class TestCCXGrades(FieldOverrideTestMixin, SharedModuleStoreTestCase, LoginEnro ) @patch('ccx.views.render_to_response', intercept_renderer) - @patch('instructor.views.gradebook_api.MAX_STUDENTS_PER_PAGE_GRADE_BOOK', 1) + @patch('lms.djangoapps.instructor.views.gradebook_api.MAX_STUDENTS_PER_PAGE_GRADE_BOOK', 1) def test_gradebook(self): self.course.enable_ccx = True RequestCache.clear_request_cache() diff --git a/lms/djangoapps/ccx/utils.py b/lms/djangoapps/ccx/utils.py index abb3b6a318..8aedb79653 100644 --- a/lms/djangoapps/ccx/utils.py +++ b/lms/djangoapps/ccx/utils.py @@ -16,17 +16,17 @@ from django.core.urlresolvers import reverse from smtplib import SMTPException from courseware.courses import get_course_by_id -from instructor.enrollment import ( +from lms.djangoapps.instructor.enrollment import ( enroll_email, get_email_params, unenroll_email, ) -from instructor.access import ( +from lms.djangoapps.instructor.access import ( allow_access, list_with_level, revoke_access, ) -from instructor.views.tools import get_student_from_identifier +from lms.djangoapps.instructor.views.tools import get_student_from_identifier from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from openedx.core.djangoapps.content.course_structures.models import CourseStructure from student.models import CourseEnrollment, CourseEnrollmentException diff --git a/lms/djangoapps/ccx/views.py b/lms/djangoapps/ccx/views.py index 9e1136c0f7..85ea5f494d 100644 --- a/lms/djangoapps/ccx/views.py +++ b/lms/djangoapps/ccx/views.py @@ -40,9 +40,9 @@ from student.roles import CourseCcxCoachRole from student.models import CourseEnrollment from xmodule.modulestore.django import SignalHandler -from instructor.views.api import _split_input_list -from instructor.views.gradebook_api import get_grade_book_page -from instructor.enrollment import ( +from lms.djangoapps.instructor.views.api import _split_input_list +from lms.djangoapps.instructor.views.gradebook_api import get_grade_book_page +from lms.djangoapps.instructor.enrollment import ( enroll_email, get_email_params, ) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 3ac3e2b299..18fde1771b 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -33,7 +33,7 @@ from opaque_keys import InvalidKeyError from opaque_keys.edx.keys import CourseKey, UsageKey from opaque_keys.edx.locations import SlashSeparatedCourseKey from rest_framework import status -from instructor.views.api import require_global_staff +from lms.djangoapps.instructor.views.api import require_global_staff import shoppingcart import survey.utils @@ -67,7 +67,7 @@ from courseware.models import StudentModule, BaseStudentModuleHistory from courseware.url_helpers import get_redirect_url, get_redirect_url_for_global_staff from courseware.user_state_client import DjangoXBlockUserStateClient from edxmako.shortcuts import render_to_response, render_to_string, marketing_link -from instructor.enrollment import uses_shib +from lms.djangoapps.instructor.enrollment import uses_shib from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification from openedx.core.djangoapps.content.course_overviews.models import CourseOverview from openedx.core.djangoapps.coursetalk.helpers import inject_coursetalk_keys_into_context diff --git a/lms/djangoapps/instructor/access.py b/lms/djangoapps/instructor/access.py index a62a5a6dd5..5ea8d3f576 100644 --- a/lms/djangoapps/instructor/access.py +++ b/lms/djangoapps/instructor/access.py @@ -19,7 +19,7 @@ from student.roles import ( CourseStaffRole, ) -from instructor.enrollment import ( +from lms.djangoapps.instructor.enrollment import ( enroll_email, get_email_params, ) diff --git a/lms/djangoapps/instructor/management/commands/compute_grades.py b/lms/djangoapps/instructor/management/commands/compute_grades.py index 625bc3e5cc..3cdc1852ec 100644 --- a/lms/djangoapps/instructor/management/commands/compute_grades.py +++ b/lms/djangoapps/instructor/management/commands/compute_grades.py @@ -7,7 +7,7 @@ from django.http import Http404 from django.core.management.base import BaseCommand from courseware.courses import get_course_by_id -from instructor.offline_gradecalc import offline_grade_calculation +from lms.djangoapps.instructor.offline_gradecalc import offline_grade_calculation from opaque_keys import InvalidKeyError from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.locations import SlashSeparatedCourseKey diff --git a/lms/djangoapps/instructor/management/tests/test_compute_grades.py b/lms/djangoapps/instructor/management/tests/test_compute_grades.py index 50f04143d7..78a7feb87d 100644 --- a/lms/djangoapps/instructor/management/tests/test_compute_grades.py +++ b/lms/djangoapps/instructor/management/tests/test_compute_grades.py @@ -7,7 +7,7 @@ from unittest import TestCase from django.core.management import call_command from mock import Mock -from instructor.offline_gradecalc import offline_grade_calculation # pylint: disable=unused-import +from lms.djangoapps.instructor.offline_gradecalc import offline_grade_calculation # pylint: disable=unused-import from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.locator import CourseLocator diff --git a/lms/djangoapps/instructor/paidcourse_enrollment_report.py b/lms/djangoapps/instructor/paidcourse_enrollment_report.py index 557d58830e..cd1096eb3f 100644 --- a/lms/djangoapps/instructor/paidcourse_enrollment_report.py +++ b/lms/djangoapps/instructor/paidcourse_enrollment_report.py @@ -7,7 +7,7 @@ import collections from django.conf import settings from django.utils.translation import ugettext as _ from courseware.courses import get_course_by_id -from instructor.enrollment_report import BaseAbstractEnrollmentReportProvider +from lms.djangoapps.instructor.enrollment_report import BaseAbstractEnrollmentReportProvider from shoppingcart.models import RegistrationCodeRedemption, PaidCourseRegistration, CouponRedemption, OrderItem, \ InvoiceTransaction from student.models import CourseEnrollment, ManualEnrollmentAudit diff --git a/lms/djangoapps/instructor/services.py b/lms/djangoapps/instructor/services.py index db5ad000e3..87c9a92000 100644 --- a/lms/djangoapps/instructor/services.py +++ b/lms/djangoapps/instructor/services.py @@ -8,9 +8,9 @@ from opaque_keys import InvalidKeyError from opaque_keys.edx.keys import CourseKey, UsageKey from commerce.signals import create_zendesk_ticket from courseware.models import StudentModule -from instructor.views.tools import get_student_from_identifier +from lms.djangoapps.instructor.views.tools import get_student_from_identifier from django.core.exceptions import ObjectDoesNotExist -import instructor.enrollment as enrollment +import lms.djangoapps.instructor.enrollment as enrollment from django.utils.translation import ugettext as _ diff --git a/lms/djangoapps/instructor/tests/test_access.py b/lms/djangoapps/instructor/tests/test_access.py index 263745f0cd..fb971bc61b 100644 --- a/lms/djangoapps/instructor/tests/test_access.py +++ b/lms/djangoapps/instructor/tests/test_access.py @@ -12,10 +12,7 @@ from student.roles import CourseBetaTesterRole, CourseStaffRole, CourseCcxCoachR from django_comment_common.models import (Role, FORUM_ROLE_MODERATOR) -from instructor.access import (allow_access, - revoke_access, - list_with_level, - update_forum_role) +from lms.djangoapps.instructor.access import (allow_access, revoke_access, list_with_level, update_forum_role) @attr(shard=1) diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py index 4a1c292eca..9ac11ad3f2 100644 --- a/lms/djangoapps/instructor/tests/test_api.py +++ b/lms/djangoapps/instructor/tests/test_api.py @@ -59,10 +59,10 @@ from xmodule.fields import Date from courseware.models import StudentFieldOverride import instructor_task.api -import instructor.views.api -from instructor.views.api import require_finance_admin -from instructor.tests.utils import FakeContentTask, FakeEmail, FakeEmailInfo -from instructor.views.api import _split_input_list, common_exceptions_400, generate_unique_password +import lms.djangoapps.instructor.views.api +from lms.djangoapps.instructor.views.api import require_finance_admin +from lms.djangoapps.instructor.tests.utils import FakeContentTask, FakeEmail, FakeEmailInfo +from lms.djangoapps.instructor.views.api import _split_input_list, common_exceptions_400, generate_unique_password from instructor_task.api_helper import AlreadyRunningError from certificates.tests.factories import GeneratedCertificateFactory from certificates.models import CertificateStatuses @@ -580,7 +580,7 @@ class TestInstructorAPIBulkAccountCreationAndEnrollment(SharedModuleStoreTestCas last_name='Student' ) - @patch('instructor.views.api.log.info') + @patch('lms.djangoapps.instructor.views.api.log.info') def test_account_creation_and_enrollment_with_csv(self, info_log): """ Happy path test to create a single new user @@ -601,7 +601,7 @@ class TestInstructorAPIBulkAccountCreationAndEnrollment(SharedModuleStoreTestCas # test the log for email that's send to new created user. info_log.assert_called_with('email sent to new created user at %s', 'test_student@example.com') - @patch('instructor.views.api.log.info') + @patch('lms.djangoapps.instructor.views.api.log.info') def test_account_creation_and_enrollment_with_csv_with_blank_lines(self, info_log): """ Happy path test to create a single new user @@ -622,7 +622,7 @@ class TestInstructorAPIBulkAccountCreationAndEnrollment(SharedModuleStoreTestCas # test the log for email that's send to new created user. info_log.assert_called_with('email sent to new created user at %s', 'test_student@example.com') - @patch('instructor.views.api.log.info') + @patch('lms.djangoapps.instructor.views.api.log.info') def test_email_and_username_already_exist(self, info_log): """ If the email address and username already exists @@ -712,7 +712,7 @@ class TestInstructorAPIBulkAccountCreationAndEnrollment(SharedModuleStoreTestCas manual_enrollments = ManualEnrollmentAudit.objects.all() self.assertEqual(manual_enrollments.count(), 0) - @patch('instructor.views.api.log.info') + @patch('lms.djangoapps.instructor.views.api.log.info') def test_csv_user_exist_and_not_enrolled(self, info_log): """ If the email address and username already exists @@ -797,7 +797,7 @@ class TestInstructorAPIBulkAccountCreationAndEnrollment(SharedModuleStoreTestCas "test_student2@example.com,test_student_1,tester2,US" uploaded_file = SimpleUploadedFile("temp.csv", csv_content) - with patch('instructor.views.api.create_manual_course_enrollment') as mock: + with patch('lms.djangoapps.instructor.views.api.create_manual_course_enrollment') as mock: mock.side_effect = NonExistentCourseError() response = self.client.post(self.url, {'students_list': uploaded_file}) @@ -837,7 +837,7 @@ class TestInstructorAPIBulkAccountCreationAndEnrollment(SharedModuleStoreTestCas manual_enrollments = ManualEnrollmentAudit.objects.all() self.assertEqual(manual_enrollments.count(), 2) - @patch.object(instructor.views.api, 'generate_random_string', + @patch.object(lms.djangoapps.instructor.views.api, 'generate_random_string', Mock(side_effect=['first', 'first', 'second'])) def test_generate_unique_password_no_reuse(self): """ @@ -1419,7 +1419,7 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest ) @ddt.data('http', 'https') - @patch('instructor.enrollment.uses_shib') + @patch('lms.djangoapps.instructor.enrollment.uses_shib') def test_enroll_with_email_not_registered_with_shib(self, protocol, mock_uses_shib): mock_uses_shib.return_value = True @@ -1446,7 +1446,7 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest ) ) - @patch('instructor.enrollment.uses_shib') + @patch('lms.djangoapps.instructor.enrollment.uses_shib') @patch.dict(settings.FEATURES, {'ENABLE_MKTG_SITE': True}) def test_enroll_email_not_registered_shib_mktgsite(self, mock_uses_shib): # Try with marketing site enabled and shib on @@ -1468,7 +1468,7 @@ class TestInstructorAPIEnrollment(SharedModuleStoreTestCase, LoginEnrollmentTest ) @ddt.data('http', 'https') - @patch('instructor.enrollment.uses_shib') + @patch('lms.djangoapps.instructor.enrollment.uses_shib') def test_enroll_with_email_not_registered_with_shib_autoenroll(self, protocol, mock_uses_shib): mock_uses_shib.return_value = True @@ -2954,8 +2954,8 @@ class TestInstructorAPILevelsDataDump(SharedModuleStoreTestCase, LoginEnrollment response = self.client.post(url, {}) self.assertIn('The detailed enrollment report is being created.', response.content) - @patch.object(instructor.views.api, 'anonymous_id_for_user', Mock(return_value='42')) - @patch.object(instructor.views.api, 'unique_id_for_user', Mock(return_value='41')) + @patch.object(lms.djangoapps.instructor.views.api, 'anonymous_id_for_user', Mock(return_value='42')) + @patch.object(lms.djangoapps.instructor.views.api, 'unique_id_for_user', Mock(return_value='41')) def test_get_anon_ids(self): """ Test the CSV output for the anonymized user ids. @@ -3734,7 +3734,9 @@ class TestInstructorAPITaskLists(SharedModuleStoreTestCase, LoginEnrollmentTestC act.return_value = self.tasks url = reverse('list_instructor_tasks', kwargs={'course_id': self.course.id.to_deprecated_string()}) mock_factory = MockCompletionInfo() - with patch('instructor.views.instructor_task_helpers.get_task_completion_info') as mock_completion_info: + with patch( + 'lms.djangoapps.instructor.views.instructor_task_helpers.get_task_completion_info' + ) as mock_completion_info: mock_completion_info.side_effect = mock_factory.mock_get_task_completion_info response = self.client.post(url, {}) self.assertEqual(response.status_code, 200) @@ -3753,7 +3755,9 @@ class TestInstructorAPITaskLists(SharedModuleStoreTestCase, LoginEnrollmentTestC act.return_value = self.tasks url = reverse('list_background_email_tasks', kwargs={'course_id': self.course.id.to_deprecated_string()}) mock_factory = MockCompletionInfo() - with patch('instructor.views.instructor_task_helpers.get_task_completion_info') as mock_completion_info: + with patch( + 'lms.djangoapps.instructor.views.instructor_task_helpers.get_task_completion_info' + ) as mock_completion_info: mock_completion_info.side_effect = mock_factory.mock_get_task_completion_info response = self.client.post(url, {}) self.assertEqual(response.status_code, 200) @@ -3772,7 +3776,9 @@ class TestInstructorAPITaskLists(SharedModuleStoreTestCase, LoginEnrollmentTestC act.return_value = self.tasks url = reverse('list_instructor_tasks', kwargs={'course_id': self.course.id.to_deprecated_string()}) mock_factory = MockCompletionInfo() - with patch('instructor.views.instructor_task_helpers.get_task_completion_info') as mock_completion_info: + with patch( + 'lms.djangoapps.instructor.views.instructor_task_helpers.get_task_completion_info' + ) as mock_completion_info: mock_completion_info.side_effect = mock_factory.mock_get_task_completion_info response = self.client.post(url, { 'problem_location_str': self.problem_urlname, @@ -3793,7 +3799,9 @@ class TestInstructorAPITaskLists(SharedModuleStoreTestCase, LoginEnrollmentTestC act.return_value = self.tasks url = reverse('list_instructor_tasks', kwargs={'course_id': self.course.id.to_deprecated_string()}) mock_factory = MockCompletionInfo() - with patch('instructor.views.instructor_task_helpers.get_task_completion_info') as mock_completion_info: + with patch( + 'lms.djangoapps.instructor.views.instructor_task_helpers.get_task_completion_info' + ) as mock_completion_info: mock_completion_info.side_effect = mock_factory.mock_get_task_completion_info response = self.client.post(url, { 'problem_location_str': self.problem_urlname, @@ -3854,7 +3862,7 @@ class TestInstructorEmailContentList(SharedModuleStoreTestCase, LoginEnrollmentT self.setup_fake_email_info(num_emails, with_failures) task_history_request.return_value = self.tasks.values() url = reverse('list_email_content', kwargs={'course_id': self.course.id.to_deprecated_string()}) - with patch('instructor.views.api.CourseEmail.objects.get') as mock_email_info: + with patch('lms.djangoapps.instructor.views.api.CourseEmail.objects.get') as mock_email_info: mock_email_info.side_effect = self.get_matching_mock_email response = self.client.post(url, {}) self.assertEqual(response.status_code, 200) @@ -3931,7 +3939,7 @@ class TestInstructorEmailContentList(SharedModuleStoreTestCase, LoginEnrollmentT email_info = FakeEmailInfo(email, 0, 10) task_history_request.return_value = [task_info] url = reverse('list_email_content', kwargs={'course_id': self.course.id.to_deprecated_string()}) - with patch('instructor.views.api.CourseEmail.objects.get') as mock_email_info: + with patch('lms.djangoapps.instructor.views.api.CourseEmail.objects.get') as mock_email_info: mock_email_info.return_value = email response = self.client.post(url, {}) self.assertEqual(response.status_code, 200) @@ -4556,7 +4564,7 @@ class TestCourseRegistrationCodes(SharedModuleStoreTestCase): and row_data[1].endswith('/shoppingcart/register/redeem/{0}/"'.format(code))) index += 1 - @patch.object(instructor.views.api, 'random_code_generator', + @patch.object(lms.djangoapps.instructor.views.api, 'random_code_generator', Mock(side_effect=['first', 'second', 'third', 'fourth'])) def test_generate_course_registration_codes_matching_existing_coupon_code(self): """ @@ -4582,7 +4590,7 @@ class TestCourseRegistrationCodes(SharedModuleStoreTestCase): self.assertTrue(body.startswith(EXPECTED_CSV_HEADER)) self.assertEqual(len(body.split('\n')), 5) # 1 for headers, 1 for new line at the end and 3 for the actual data - @patch.object(instructor.views.api, 'random_code_generator', + @patch.object(lms.djangoapps.instructor.views.api, 'random_code_generator', Mock(side_effect=['first', 'first', 'second', 'third'])) def test_generate_course_registration_codes_integrity_error(self): """ @@ -4946,8 +4954,8 @@ class TestBulkCohorting(SharedModuleStoreTestCase): response = self.call_add_users_to_cohorts('') self.assertEqual(response.status_code, 403) - @patch('instructor.views.api.instructor_task.api.submit_cohort_students') - @patch('instructor.views.api.store_uploaded_file') + @patch('lms.djangoapps.instructor.views.api.instructor_task.api.submit_cohort_students') + @patch('lms.djangoapps.instructor.views.api.store_uploaded_file') def test_success_username(self, mock_store_upload, mock_cohort_task): """ Verify that we store the input CSV and call a background task when @@ -4957,8 +4965,8 @@ class TestBulkCohorting(SharedModuleStoreTestCase): 'username,cohort\nfoo_username,bar_cohort', mock_store_upload, mock_cohort_task ) - @patch('instructor.views.api.instructor_task.api.submit_cohort_students') - @patch('instructor.views.api.store_uploaded_file') + @patch('lms.djangoapps.instructor.views.api.instructor_task.api.submit_cohort_students') + @patch('lms.djangoapps.instructor.views.api.store_uploaded_file') def test_success_email(self, mock_store_upload, mock_cohort_task): """ Verify that we store the input CSV and call the cohorting background @@ -4968,8 +4976,8 @@ class TestBulkCohorting(SharedModuleStoreTestCase): 'email,cohort\nfoo_email,bar_cohort', mock_store_upload, mock_cohort_task ) - @patch('instructor.views.api.instructor_task.api.submit_cohort_students') - @patch('instructor.views.api.store_uploaded_file') + @patch('lms.djangoapps.instructor.views.api.instructor_task.api.submit_cohort_students') + @patch('lms.djangoapps.instructor.views.api.store_uploaded_file') def test_success_username_and_email(self, mock_store_upload, mock_cohort_task): """ Verify that we store the input CSV and call the cohorting background @@ -4979,8 +4987,8 @@ class TestBulkCohorting(SharedModuleStoreTestCase): 'username,email,cohort\nfoo_username,bar_email,baz_cohort', mock_store_upload, mock_cohort_task ) - @patch('instructor.views.api.instructor_task.api.submit_cohort_students') - @patch('instructor.views.api.store_uploaded_file') + @patch('lms.djangoapps.instructor.views.api.instructor_task.api.submit_cohort_students') + @patch('lms.djangoapps.instructor.views.api.store_uploaded_file') def test_success_carriage_return(self, mock_store_upload, mock_cohort_task): """ Verify that we store the input CSV and call the cohorting background @@ -4990,8 +4998,8 @@ class TestBulkCohorting(SharedModuleStoreTestCase): 'username,email,cohort\rfoo_username,bar_email,baz_cohort', mock_store_upload, mock_cohort_task ) - @patch('instructor.views.api.instructor_task.api.submit_cohort_students') - @patch('instructor.views.api.store_uploaded_file') + @patch('lms.djangoapps.instructor.views.api.instructor_task.api.submit_cohort_students') + @patch('lms.djangoapps.instructor.views.api.store_uploaded_file') def test_success_carriage_return_line_feed(self, mock_store_upload, mock_cohort_task): """ Verify that we store the input CSV and call the cohorting background diff --git a/lms/djangoapps/instructor/tests/test_certificates.py b/lms/djangoapps/instructor/tests/test_certificates.py index 530947a210..82ffb70641 100644 --- a/lms/djangoapps/instructor/tests/test_certificates.py +++ b/lms/djangoapps/instructor/tests/test_certificates.py @@ -150,7 +150,7 @@ class CertificatesInstructorDashTest(SharedModuleStoreTestCase): @contextlib.contextmanager def _certificate_status(self, description, status): """Configure the certificate status by mocking the certificates API. """ - patched = 'instructor.views.instructor_dashboard.certs_api.example_certificates_status' + patched = 'lms.djangoapps.instructor.views.instructor_dashboard.certs_api.example_certificates_status' with mock.patch(patched) as certs_api_status: cert_status = [{ 'description': description, diff --git a/lms/djangoapps/instructor/tests/test_enrollment.py b/lms/djangoapps/instructor/tests/test_enrollment.py index ca7b0f3aea..65ec2af976 100644 --- a/lms/djangoapps/instructor/tests/test_enrollment.py +++ b/lms/djangoapps/instructor/tests/test_enrollment.py @@ -28,7 +28,7 @@ from student.roles import CourseCcxCoachRole from student.tests.factories import ( AdminFactory ) -from instructor.enrollment import ( +from lms.djangoapps.instructor.enrollment import ( EmailEnrollmentState, enroll_email, get_email_params, diff --git a/lms/djangoapps/instructor/tests/test_enrollment_store_provider.py b/lms/djangoapps/instructor/tests/test_enrollment_store_provider.py index 5909f28fa5..a8f753290a 100644 --- a/lms/djangoapps/instructor/tests/test_enrollment_store_provider.py +++ b/lms/djangoapps/instructor/tests/test_enrollment_store_provider.py @@ -3,8 +3,8 @@ Exercises tests on the base_store_provider file """ from django.test import TestCase -from instructor.enrollment_report import AbstractEnrollmentReportProvider -from instructor.paidcourse_enrollment_report import PaidCourseEnrollmentReportProvider +from lms.djangoapps.instructor.enrollment_report import AbstractEnrollmentReportProvider +from lms.djangoapps.instructor.paidcourse_enrollment_report import PaidCourseEnrollmentReportProvider class BadImplementationAbstractEnrollmentReportProvider(AbstractEnrollmentReportProvider): diff --git a/lms/djangoapps/instructor/tests/test_services.py b/lms/djangoapps/instructor/tests/test_services.py index 648f6350ee..4e2ded21fc 100644 --- a/lms/djangoapps/instructor/tests/test_services.py +++ b/lms/djangoapps/instructor/tests/test_services.py @@ -6,9 +6,9 @@ import json from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase from xmodule.modulestore.tests.factories import CourseFactory from courseware.models import StudentModule -from instructor.access import allow_access -from instructor.services import InstructorService -from instructor.tests.test_tools import msk_from_problem_urlname +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 from nose.plugins.attrib import attr from student.models import CourseEnrollment from student.tests.factories import UserFactory @@ -154,7 +154,7 @@ class InstructorServiceTests(SharedModuleStoreTestCase): ) tags = ["proctoring"] - with mock.patch("instructor.services.create_zendesk_ticket") as mock_create_zendesk_ticket: + with mock.patch("lms.djangoapps.instructor.services.create_zendesk_ticket") as mock_create_zendesk_ticket: self.service.send_support_notification( course_id=unicode(self.course.id), exam_name="test_exam", diff --git a/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py b/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py index b2bf82e779..dbe8e9053a 100644 --- a/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py +++ b/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py @@ -16,7 +16,7 @@ from edxmako.shortcuts import render_to_response from courseware.tabs import get_course_tab_list from courseware.tests.factories import UserFactory, StudentModuleFactory from courseware.tests.helpers import LoginEnrollmentTestCase -from instructor.views.gradebook_api import calculate_page_info +from lms.djangoapps.instructor.views.gradebook_api import calculate_page_info from common.test.utils import XssTestMixin from student.tests.factories import AdminFactory, CourseEnrollmentFactory @@ -275,7 +275,7 @@ class TestInstructorDashboard(ModuleStoreTestCase, LoginEnrollmentTestCase, XssT response = self.client.get(self.url) self.assertIn('D: 0.5, C: 0.57, B: 0.63, A: 0.75', response.content) - @patch('instructor.views.gradebook_api.MAX_STUDENTS_PER_PAGE_GRADE_BOOK', 2) + @patch('lms.djangoapps.instructor.views.gradebook_api.MAX_STUDENTS_PER_PAGE_GRADE_BOOK', 2) def test_calculate_page_info(self): page = calculate_page_info(offset=0, total_students=2) self.assertEqual(page["offset"], 0) @@ -284,8 +284,8 @@ class TestInstructorDashboard(ModuleStoreTestCase, LoginEnrollmentTestCase, XssT self.assertEqual(page["previous_offset"], None) self.assertEqual(page["total_pages"], 1) - @patch('instructor.views.gradebook_api.render_to_response', intercept_renderer) - @patch('instructor.views.gradebook_api.MAX_STUDENTS_PER_PAGE_GRADE_BOOK', 1) + @patch('lms.djangoapps.instructor.views.gradebook_api.render_to_response', intercept_renderer) + @patch('lms.djangoapps.instructor.views.gradebook_api.MAX_STUDENTS_PER_PAGE_GRADE_BOOK', 1) def test_spoc_gradebook_pages(self): for i in xrange(2): username = "user_%d" % i diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py index cff00d1bcb..cc20d0241a 100644 --- a/lms/djangoapps/instructor/views/api.py +++ b/lms/djangoapps/instructor/views/api.py @@ -36,7 +36,7 @@ from util.file import ( ) from util.json_request import JsonResponse, JsonResponseBadRequest from util.views import require_global_staff -from instructor.views.instructor_task_helpers import extract_email_features, extract_task_features +from lms.djangoapps.instructor.views.instructor_task_helpers import extract_email_features, extract_task_features from courseware.access import has_access from courseware.courses import get_course_with_access, get_course_by_id @@ -68,8 +68,8 @@ from student.models import ( import instructor_task.api from instructor_task.api_helper import AlreadyRunningError from instructor_task.models import ReportStore -import instructor.enrollment as enrollment -from instructor.enrollment import ( +import lms.djangoapps.instructor.enrollment as enrollment +from lms.djangoapps.instructor.enrollment import ( get_user_email_language, enroll_email, send_mail_to_student, @@ -77,14 +77,14 @@ from instructor.enrollment import ( send_beta_role_email, unenroll_email, ) -from instructor.access import list_with_level, allow_access, revoke_access, ROLES, update_forum_role +from lms.djangoapps.instructor.access import list_with_level, allow_access, revoke_access, ROLES, update_forum_role import instructor_analytics.basic import instructor_analytics.distributions import instructor_analytics.csvs import csv from openedx.core.djangoapps.user_api.preferences.api import get_user_preference, set_user_preference from openedx.core.djangolib.markup import HTML, Text -from instructor.views import INVOICE_KEY +from lms.djangoapps.instructor.views import INVOICE_KEY from submissions import api as sub_api # installed from the edx-submissions repository diff --git a/lms/djangoapps/instructor/views/api_urls.py b/lms/djangoapps/instructor/views/api_urls.py index ccec3c2a18..0d11aece02 100644 --- a/lms/djangoapps/instructor/views/api_urls.py +++ b/lms/djangoapps/instructor/views/api_urls.py @@ -8,163 +8,163 @@ urlpatterns = patterns( '', url(r'^students_update_enrollment$', - 'instructor.views.api.students_update_enrollment', name="students_update_enrollment"), + 'lms.djangoapps.instructor.views.api.students_update_enrollment', name="students_update_enrollment"), url(r'^register_and_enroll_students$', - 'instructor.views.api.register_and_enroll_students', name="register_and_enroll_students"), + 'lms.djangoapps.instructor.views.api.register_and_enroll_students', name="register_and_enroll_students"), url(r'^list_course_role_members$', - 'instructor.views.api.list_course_role_members', name="list_course_role_members"), + 'lms.djangoapps.instructor.views.api.list_course_role_members', name="list_course_role_members"), url(r'^modify_access$', - 'instructor.views.api.modify_access', name="modify_access"), + 'lms.djangoapps.instructor.views.api.modify_access', name="modify_access"), url(r'^bulk_beta_modify_access$', - 'instructor.views.api.bulk_beta_modify_access', name="bulk_beta_modify_access"), + 'lms.djangoapps.instructor.views.api.bulk_beta_modify_access', name="bulk_beta_modify_access"), url(r'^get_problem_responses$', - 'instructor.views.api.get_problem_responses', name="get_problem_responses"), + 'lms.djangoapps.instructor.views.api.get_problem_responses', name="get_problem_responses"), url(r'^get_grading_config$', - 'instructor.views.api.get_grading_config', name="get_grading_config"), + 'lms.djangoapps.instructor.views.api.get_grading_config', name="get_grading_config"), url(r'^get_students_features(?P/csv)?$', - 'instructor.views.api.get_students_features', name="get_students_features"), + 'lms.djangoapps.instructor.views.api.get_students_features', name="get_students_features"), url(r'^get_issued_certificates/$', - 'instructor.views.api.get_issued_certificates', name="get_issued_certificates"), + 'lms.djangoapps.instructor.views.api.get_issued_certificates', name="get_issued_certificates"), url(r'^get_students_who_may_enroll$', - 'instructor.views.api.get_students_who_may_enroll', name="get_students_who_may_enroll"), + 'lms.djangoapps.instructor.views.api.get_students_who_may_enroll', name="get_students_who_may_enroll"), url(r'^get_user_invoice_preference$', - 'instructor.views.api.get_user_invoice_preference', name="get_user_invoice_preference"), + 'lms.djangoapps.instructor.views.api.get_user_invoice_preference', name="get_user_invoice_preference"), url(r'^get_sale_records(?P/csv)?$', - 'instructor.views.api.get_sale_records', name="get_sale_records"), + 'lms.djangoapps.instructor.views.api.get_sale_records', name="get_sale_records"), url(r'^get_sale_order_records$', - 'instructor.views.api.get_sale_order_records', name="get_sale_order_records"), + 'lms.djangoapps.instructor.views.api.get_sale_order_records', name="get_sale_order_records"), url(r'^sale_validation_url$', - 'instructor.views.api.sale_validation', name="sale_validation"), + 'lms.djangoapps.instructor.views.api.sale_validation', name="sale_validation"), url(r'^get_anon_ids$', - 'instructor.views.api.get_anon_ids', name="get_anon_ids"), + 'lms.djangoapps.instructor.views.api.get_anon_ids', name="get_anon_ids"), url(r'^get_student_progress_url$', - 'instructor.views.api.get_student_progress_url', name="get_student_progress_url"), + 'lms.djangoapps.instructor.views.api.get_student_progress_url', name="get_student_progress_url"), url(r'^reset_student_attempts$', - 'instructor.views.api.reset_student_attempts', name="reset_student_attempts"), + 'lms.djangoapps.instructor.views.api.reset_student_attempts', name="reset_student_attempts"), url( r'^rescore_problem$', - 'instructor.views.api.rescore_problem', + 'lms.djangoapps.instructor.views.api.rescore_problem', name="rescore_problem" ), url( r'^reset_student_attempts_for_entrance_exam$', - 'instructor.views.api.reset_student_attempts_for_entrance_exam', + 'lms.djangoapps.instructor.views.api.reset_student_attempts_for_entrance_exam', name="reset_student_attempts_for_entrance_exam" ), url( r'^rescore_entrance_exam$', - 'instructor.views.api.rescore_entrance_exam', + 'lms.djangoapps.instructor.views.api.rescore_entrance_exam', name="rescore_entrance_exam" ), url( r'^list_entrance_exam_instructor_tasks', - 'instructor.views.api.list_entrance_exam_instructor_tasks', + 'lms.djangoapps.instructor.views.api.list_entrance_exam_instructor_tasks', name="list_entrance_exam_instructor_tasks" ), url( r'^mark_student_can_skip_entrance_exam', - 'instructor.views.api.mark_student_can_skip_entrance_exam', + 'lms.djangoapps.instructor.views.api.mark_student_can_skip_entrance_exam', name="mark_student_can_skip_entrance_exam" ), url(r'^list_instructor_tasks$', - 'instructor.views.api.list_instructor_tasks', name="list_instructor_tasks"), + 'lms.djangoapps.instructor.views.api.list_instructor_tasks', name="list_instructor_tasks"), url(r'^list_background_email_tasks$', - 'instructor.views.api.list_background_email_tasks', name="list_background_email_tasks"), + 'lms.djangoapps.instructor.views.api.list_background_email_tasks', name="list_background_email_tasks"), url(r'^list_email_content$', - 'instructor.views.api.list_email_content', name="list_email_content"), + 'lms.djangoapps.instructor.views.api.list_email_content', name="list_email_content"), url(r'^list_forum_members$', - 'instructor.views.api.list_forum_members', name="list_forum_members"), + 'lms.djangoapps.instructor.views.api.list_forum_members', name="list_forum_members"), url(r'^update_forum_role_membership$', - 'instructor.views.api.update_forum_role_membership', name="update_forum_role_membership"), + 'lms.djangoapps.instructor.views.api.update_forum_role_membership', name="update_forum_role_membership"), url(r'^send_email$', - 'instructor.views.api.send_email', name="send_email"), - url(r'^change_due_date$', 'instructor.views.api.change_due_date', + 'lms.djangoapps.instructor.views.api.send_email', name="send_email"), + url(r'^change_due_date$', 'lms.djangoapps.instructor.views.api.change_due_date', name='change_due_date'), - url(r'^reset_due_date$', 'instructor.views.api.reset_due_date', + url(r'^reset_due_date$', 'lms.djangoapps.instructor.views.api.reset_due_date', name='reset_due_date'), - url(r'^show_unit_extensions$', 'instructor.views.api.show_unit_extensions', + url(r'^show_unit_extensions$', 'lms.djangoapps.instructor.views.api.show_unit_extensions', name='show_unit_extensions'), - url(r'^show_student_extensions$', 'instructor.views.api.show_student_extensions', + url(r'^show_student_extensions$', 'lms.djangoapps.instructor.views.api.show_student_extensions', name='show_student_extensions'), # proctored exam downloads... url(r'^get_proctored_exam_results$', - 'instructor.views.api.get_proctored_exam_results', name="get_proctored_exam_results"), + 'lms.djangoapps.instructor.views.api.get_proctored_exam_results', name="get_proctored_exam_results"), # Grade downloads... url(r'^list_report_downloads$', - 'instructor.views.api.list_report_downloads', name="list_report_downloads"), + 'lms.djangoapps.instructor.views.api.list_report_downloads', name="list_report_downloads"), url(r'calculate_grades_csv$', - 'instructor.views.api.calculate_grades_csv', name="calculate_grades_csv"), + 'lms.djangoapps.instructor.views.api.calculate_grades_csv', name="calculate_grades_csv"), url(r'problem_grade_report$', - 'instructor.views.api.problem_grade_report', name="problem_grade_report"), + 'lms.djangoapps.instructor.views.api.problem_grade_report', name="problem_grade_report"), # Financial Report downloads.. url(r'^list_financial_report_downloads$', - 'instructor.views.api.list_financial_report_downloads', name="list_financial_report_downloads"), + 'lms.djangoapps.instructor.views.api.list_financial_report_downloads', name="list_financial_report_downloads"), # Registration Codes.. url(r'get_registration_codes$', - 'instructor.views.api.get_registration_codes', name="get_registration_codes"), + 'lms.djangoapps.instructor.views.api.get_registration_codes', name="get_registration_codes"), url(r'generate_registration_codes$', - 'instructor.views.api.generate_registration_codes', name="generate_registration_codes"), + 'lms.djangoapps.instructor.views.api.generate_registration_codes', name="generate_registration_codes"), url(r'active_registration_codes$', - 'instructor.views.api.active_registration_codes', name="active_registration_codes"), + 'lms.djangoapps.instructor.views.api.active_registration_codes', name="active_registration_codes"), url(r'spent_registration_codes$', - 'instructor.views.api.spent_registration_codes', name="spent_registration_codes"), + 'lms.djangoapps.instructor.views.api.spent_registration_codes', name="spent_registration_codes"), # Reports.. url(r'get_enrollment_report$', - 'instructor.views.api.get_enrollment_report', name="get_enrollment_report"), + 'lms.djangoapps.instructor.views.api.get_enrollment_report', name="get_enrollment_report"), url(r'get_exec_summary_report$', - 'instructor.views.api.get_exec_summary_report', name="get_exec_summary_report"), + 'lms.djangoapps.instructor.views.api.get_exec_summary_report', name="get_exec_summary_report"), url(r'get_course_survey_results$', - 'instructor.views.api.get_course_survey_results', name="get_course_survey_results"), + 'lms.djangoapps.instructor.views.api.get_course_survey_results', name="get_course_survey_results"), url(r'export_ora2_data', - 'instructor.views.api.export_ora2_data', name="export_ora2_data"), + 'lms.djangoapps.instructor.views.api.export_ora2_data', name="export_ora2_data"), # Coupon Codes.. url(r'get_coupon_codes', - 'instructor.views.api.get_coupon_codes', name="get_coupon_codes"), + 'lms.djangoapps.instructor.views.api.get_coupon_codes', name="get_coupon_codes"), # spoc gradebook url(r'^gradebook$', - 'instructor.views.gradebook_api.spoc_gradebook', name='spoc_gradebook'), + 'lms.djangoapps.instructor.views.gradebook_api.spoc_gradebook', name='spoc_gradebook'), url(r'^gradebook/(?P[0-9]+)$', - 'instructor.views.gradebook_api.spoc_gradebook', name='spoc_gradebook'), + 'lms.djangoapps.instructor.views.gradebook_api.spoc_gradebook', name='spoc_gradebook'), # Cohort management url(r'add_users_to_cohorts$', - 'instructor.views.api.add_users_to_cohorts', name="add_users_to_cohorts"), + 'lms.djangoapps.instructor.views.api.add_users_to_cohorts', name="add_users_to_cohorts"), # Certificates url(r'^generate_example_certificates$', - 'instructor.views.api.generate_example_certificates', + 'lms.djangoapps.instructor.views.api.generate_example_certificates', name='generate_example_certificates'), url(r'^enable_certificate_generation$', - 'instructor.views.api.enable_certificate_generation', + 'lms.djangoapps.instructor.views.api.enable_certificate_generation', name='enable_certificate_generation'), url(r'^start_certificate_generation', - 'instructor.views.api.start_certificate_generation', + 'lms.djangoapps.instructor.views.api.start_certificate_generation', name='start_certificate_generation'), url(r'^start_certificate_regeneration', - 'instructor.views.api.start_certificate_regeneration', + 'lms.djangoapps.instructor.views.api.start_certificate_regeneration', name='start_certificate_regeneration'), url(r'^certificate_exception_view/$', - 'instructor.views.api.certificate_exception_view', + 'lms.djangoapps.instructor.views.api.certificate_exception_view', name='certificate_exception_view'), url(r'^generate_certificate_exceptions/(?P[^/]*)', - 'instructor.views.api.generate_certificate_exceptions', + 'lms.djangoapps.instructor.views.api.generate_certificate_exceptions', name='generate_certificate_exceptions'), url(r'^generate_bulk_certificate_exceptions', - 'instructor.views.api.generate_bulk_certificate_exceptions', + 'lms.djangoapps.instructor.views.api.generate_bulk_certificate_exceptions', name='generate_bulk_certificate_exceptions'), url(r'^certificate_invalidation_view/$', - 'instructor.views.api.certificate_invalidation_view', + 'lms.djangoapps.instructor.views.api.certificate_invalidation_view', name='certificate_invalidation_view'), ) diff --git a/lms/djangoapps/instructor/views/gradebook_api.py b/lms/djangoapps/instructor/views/gradebook_api.py index 843eeb4d10..a7fd7474b3 100644 --- a/lms/djangoapps/instructor/views/gradebook_api.py +++ b/lms/djangoapps/instructor/views/gradebook_api.py @@ -13,7 +13,7 @@ from opaque_keys.edx.keys import CourseKey from edxmako.shortcuts import render_to_response from courseware.courses import get_course_with_access -from instructor.views.api import require_level +from lms.djangoapps.instructor.views.api import require_level from lms.djangoapps.grades import course_grades from xmodule.modulestore.django import modulestore diff --git a/lms/djangoapps/instructor/views/registration_codes.py b/lms/djangoapps/instructor/views/registration_codes.py index e02803459a..3775f6769d 100644 --- a/lms/djangoapps/instructor/views/registration_codes.py +++ b/lms/djangoapps/instructor/views/registration_codes.py @@ -3,10 +3,10 @@ E-commerce Tab Instructor Dashboard Query Registration Code Status. """ from django.core.urlresolvers import reverse from django.views.decorators.http import require_GET, require_POST -from instructor.enrollment import get_email_params, send_mail_to_student +from lms.djangoapps.instructor.enrollment import get_email_params, send_mail_to_student from django.utils.translation import ugettext as _ from courseware.courses import get_course_by_id -from instructor.views.api import require_level +from lms.djangoapps.instructor.views.api import require_level from student.models import CourseEnrollment from util.json_request import JsonResponse from shoppingcart.models import CourseRegistrationCode, RegistrationCodeRedemption diff --git a/lms/djangoapps/instructor_task/tasks_helper.py b/lms/djangoapps/instructor_task/tasks_helper.py index abede406e9..140533040d 100644 --- a/lms/djangoapps/instructor_task/tasks_helper.py +++ b/lms/djangoapps/instructor_task/tasks_helper.py @@ -24,7 +24,7 @@ import dogstats_wrapper as dog_stats_api from pytz import UTC from StringIO import StringIO from edxmako.shortcuts import render_to_string -from instructor.paidcourse_enrollment_report import PaidCourseEnrollmentReportProvider +from lms.djangoapps.instructor.paidcourse_enrollment_report import PaidCourseEnrollmentReportProvider from shoppingcart.models import ( PaidCourseRegistration, CourseRegCodeItem, InvoiceTransaction, Invoice, CouponRedemption, RegistrationCodeRedemption, CourseRegistrationCode diff --git a/lms/djangoapps/shoppingcart/models.py b/lms/djangoapps/shoppingcart/models.py index d3a8200b5a..9509a8362a 100644 --- a/lms/djangoapps/shoppingcart/models.py +++ b/lms/djangoapps/shoppingcart/models.py @@ -1792,7 +1792,7 @@ class CourseRegCodeItem(OrderItem): # we should ultimately refactor code to have save_registration_code in this models.py # file, but there's also a shared dependency on a random string generator which # is in another PR (for another feature) - from instructor.views.api import save_registration_code + from lms.djangoapps.instructor.views.api import save_registration_code for i in range(total_registration_codes): # pylint: disable=unused-variable save_registration_code(self.user, self.course_id, self.mode, order=self.order) diff --git a/lms/envs/common.py b/lms/envs/common.py index 892560477b..e7a18c4383 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -1924,7 +1924,7 @@ INSTALLED_APPS = ( 'util', 'certificates', 'dashboard', - 'instructor', + 'lms.djangoapps.instructor', 'instructor_task', 'openedx.core.djangoapps.course_groups', 'bulk_email', diff --git a/lms/startup.py b/lms/startup.py index 9cf6f6b33e..0d44ae6c5b 100644 --- a/lms/startup.py +++ b/lms/startup.py @@ -69,7 +69,7 @@ def run(): # Import these here to avoid circular dependencies of the form: # edx-platform app --> DRF --> django translation --> edx-platform app from edx_proctoring.runtime import set_runtime_service - from instructor.services import InstructorService + from lms.djangoapps.instructor.services import InstructorService from openedx.core.djangoapps.credit.services import CreditService set_runtime_service('credit', CreditService()) diff --git a/lms/urls.py b/lms/urls.py index 922eb72cdc..1452b00f3d 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -230,12 +230,12 @@ COURSE_URLS = patterns( '', url( r'^look_up_registration_code$', - 'instructor.views.registration_codes.look_up_registration_code', + 'lms.djangoapps.instructor.views.registration_codes.look_up_registration_code', name='look_up_registration_code', ), url( r'^registration_code_details$', - 'instructor.views.registration_codes.registration_code_details', + 'lms.djangoapps.instructor.views.registration_codes.registration_code_details', name='registration_code_details', ), ) @@ -485,7 +485,7 @@ urlpatterns += ( r'^courses/{}/instructor$'.format( settings.COURSE_ID_PATTERN, ), - 'instructor.views.instructor_dashboard.instructor_dashboard_2', + 'lms.djangoapps.instructor.views.instructor_dashboard.instructor_dashboard_2', name='instructor_dashboard', ), @@ -494,40 +494,40 @@ urlpatterns += ( r'^courses/{}/set_course_mode_price$'.format( settings.COURSE_ID_PATTERN, ), - 'instructor.views.instructor_dashboard.set_course_mode_price', + 'lms.djangoapps.instructor.views.instructor_dashboard.set_course_mode_price', name='set_course_mode_price', ), url( r'^courses/{}/instructor/api/'.format( settings.COURSE_ID_PATTERN, ), - include('instructor.views.api_urls')), + include('lms.djangoapps.instructor.views.api_urls')), url( r'^courses/{}/remove_coupon$'.format( settings.COURSE_ID_PATTERN, ), - 'instructor.views.coupons.remove_coupon', + 'lms.djangoapps.instructor.views.coupons.remove_coupon', name='remove_coupon', ), url( r'^courses/{}/add_coupon$'.format( settings.COURSE_ID_PATTERN, ), - 'instructor.views.coupons.add_coupon', + 'lms.djangoapps.instructor.views.coupons.add_coupon', name='add_coupon', ), url( r'^courses/{}/update_coupon$'.format( settings.COURSE_ID_PATTERN, ), - 'instructor.views.coupons.update_coupon', + 'lms.djangoapps.instructor.views.coupons.update_coupon', name='update_coupon', ), url( r'^courses/{}/get_coupon_info$'.format( settings.COURSE_ID_PATTERN, ), - 'instructor.views.coupons.get_coupon_info', + 'lms.djangoapps.instructor.views.coupons.get_coupon_info', name='get_coupon_info', ),