Block users from enrolling in a course if the user
is blocked by country access rules.
1) Enrollment via the login/registration page.
2) Enrollment from the marketing iframe (via student.views.change_enrollment)
3) Enrollment using 100% redeem codes.
4) Enrollment via upgrade.
This does NOT cover enrollment through third party authentication,
which is sufficiently complex to deserve its own commit.
The existing pattern of using `override_settings(MODULESTORE=...)` prevented
us from having more than one layer of subclassing in modulestore tests.
In a structure like:
@override_settings(MODULESTORE=store_a)
class BaseTestCase(ModuleStoreTestCase):
def setUp(self):
# use store
@override_settings(MODULESTORE=store_b)
class ChildTestCase(BaseTestCase):
def setUp(self):
# use store
In this case, the store actions performed in `BaseTestCase` on behalf of
`ChildTestCase` would still use `store_a`, even though the `ChildTestCase`
had specified to use `store_b`. This is because the `override_settings`
decorator would be the innermost wrapper around the `BaseTestCase.setUp` method,
no matter what `ChildTestCase` does.
To remedy this, we move the call to `override_settings` into the
`ModuleStoreTestCase.setUp` method, and use a cleanup to remove the override.
Subclasses can just defined the `MODULESTORE` class attribute to specify which
modulestore to use _for the entire `setUp` chain_.
[PLAT-419]
Makes logistration available at /login and /register as well as /accounts/login/ and /accounts/register/. In addition:
- Adds support for redirect URLs in third party auth for combined login/registration page
- Adds support for external auth on the combined login/registration page
- Removes old login and registration acceptance tests
- Adds deprecation warnings to old login and register views
- Moves third party auth util to student_account
- Adds exception for microsites (theming)
Removes old payment and verification endpoints, views, templates, and tests, making the new split flow the default. The SEPARATE_VERIFICATION_FROM_PAYMENT feature flag is also removed.
Update the redeem code schema
Updating the redeem code schema.
Adding migration file.
Adding course mode support when redeeming a code.
Conflicts:
lms/djangoapps/shoppingcart/views.py
Add sales admin privileges for redeem code generation.
Making sure redeem code URLs work for verified courses.
pep8 violations
Code Review and Test Cleanup changes
Added tests, fixed tests.
Updating the boolean checks in ecommerce template
Use honor code ribbon if verification status is not missing, submitted, or approved; title column on payment confirmation page holding dollar amounts more appropriately
This reverts commit f40447b3c8.
Conflicts:
lms/urls.py
Revert "Add support for external auth on the combined login/registration page"
This reverts commit 988753395f.
Conflicts:
lms/templates/courseware/mktg_course_about.html
lms/urls.py
Add support for redirect URLs in third party auth for combined login/registration page
Remove old login/registration acceptance tests
Add deprecation warnings to old login and register views
Move third party auth util to student_account
Add exception for microsites
Move modulestore config for tests to an importable location
Disable pylnt warning for lms imports in common tests
Refactor all testcases that loaded all xml courses
TE-610
TE-489