Merge pull request #13666 from edx/sstudent/hack-python-paths
update all references to instructor module
This commit is contained in:
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -19,7 +19,7 @@ from student.roles import (
|
||||
CourseStaffRole,
|
||||
)
|
||||
|
||||
from instructor.enrollment import (
|
||||
from lms.djangoapps.instructor.enrollment import (
|
||||
enroll_email,
|
||||
get_email_params,
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 _
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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>/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>/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<offset>[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<generate_for>[^/]*)',
|
||||
'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'),
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -1924,7 +1924,7 @@ INSTALLED_APPS = (
|
||||
'util',
|
||||
'certificates',
|
||||
'dashboard',
|
||||
'instructor',
|
||||
'lms.djangoapps.instructor',
|
||||
'instructor_task',
|
||||
'openedx.core.djangoapps.course_groups',
|
||||
'bulk_email',
|
||||
|
||||
@@ -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())
|
||||
|
||||
|
||||
18
lms/urls.py
18
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',
|
||||
),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user