Commit Graph

107 Commits

Author SHA1 Message Date
Will Daly
e609f982d7 Country Access: block enrollment
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.
2015-02-10 13:07:51 -05:00
Calen Pennington
b353ed2ea2 Better support specifying of modulestore configuration in test cases
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]
2015-02-04 09:09:14 -05:00
Calen Pennington
dcbfb1d78f Backfill migration of course_modes to add the description field 2015-02-03 14:13:41 -05:00
Renzo Lucioni
80589eab36 Remove old payment and verification flow
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.
2015-01-29 10:56:25 -05:00
Renzo Lucioni
4f23c31d8b Fix intermittent failures in bok-choy tests of payment and verification 2015-01-26 17:22:21 -05:00
Renzo Lucioni
c6777a5b25 Bok Choy tests for the split payment and verification flow
Adds mode creation endpoint to course_modes app and ability to bypass media device access prompt when proceeding through verification flow in a testing environment.
2015-01-15 17:25:25 -05:00
stephensanchez
b188430679 Enable redeem codes.
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
2015-01-13 15:21:24 +00:00
David Ormsbee
18495e97a0 Add search, sort, and slug dropdown to Course Modes admin. 2015-01-09 11:43:22 -05:00
Will Daly
a90f7ab1bf Enter the new verification / payment flow using a GET param
Allow disabling of experiment
2014-12-30 13:36:25 -08:00
Renzo Lucioni
a268c91236 Hook up new payment/verification flow to dashboard, track selection page, and upgrade 2014-12-16 23:32:17 -05:00
Will Daly
84301e7698 Merge pull request #6070 from edx/will/verified-messaging-per-course
Student verification status
2014-12-02 16:08:25 -05:00
Will Daly
464dfcfabc Show student verification status on the dashboard. 2014-12-02 09:42:24 -05:00
Sarina Canelake
0c7b60b82b Remove 'pylint: disable=W0232' because we ignore this warning in pylintrc 2014-12-01 11:22:12 -05:00
Sarina Canelake
0dad9da5e4 s/pylint: disable=W0621/pylint: disable=redefined-outer-name/ 2014-12-01 11:22:08 -05:00
Will Daly
a5001bab2a Merge remote-tracking branch 'origin/master' into will/combine-reg-login-form
Conflicts:
	lms/static/sass/base/_grid-settings.scss
	lms/static/sass/shared/_footer.scss
	lms/static/sass/shared/_header.scss
2014-11-13 11:16:16 -05:00
David Ormsbee
43d8c7a712 Merge branch 'release'
Conflicts:
	lms/djangoapps/shoppingcart/processors/CyberSource2.py
2014-11-13 10:11:12 -05:00
AlasdairSwan
23081f076b ECOM-574 Updated track selection page to be responsive 2014-11-10 15:39:17 -05:00
stv
fb9f324f2f Fix PEP8: E303 too many blank lines 2014-11-10 11:00:14 -08:00
Diana Huang
a971e71792 Merge branch 'will/logistration-third-party-auth-fixes' into will/combine-reg-login-form
Conflicts:
	common/djangoapps/course_modes/views.py
2014-11-04 10:50:09 -05:00
Diana Huang
fc468bf696 Set up basic enrollment infrastructure. 2014-10-30 17:15:26 -04:00
Will Daly
f9b5a9173f Redirect users to the track selection page or ?next page when using third party auth
Set marketing site logged in cookie from third party auth.
2014-10-28 10:28:30 -04:00
stephensanchez
128d4836c0 Change design to check for min price or suggested prices. 2014-10-22 20:26:03 +00:00
Sarina Canelake
d1f256af29 Merge pull request #5566 from Kelketek/lazy_coursemode_translation
Lazy loading of CourseMode model's internationalization.
2014-10-17 10:26:05 -04:00
Renzo Lucioni
bd7715a393 Clean up after track selection experiment 2014-10-14 13:56:49 -04:00
Jonathan Piacenti
d09d729b75 Lazy loading of CourseMode model's internationalization. 2014-10-13 21:30:07 +00:00
Will Daly
f8365a2d3b Add donation end-point
Make donations configurable

Added donation button to dashboard

Generalize merchant defined data for payment processor
2014-10-07 14:22:55 -04:00
Usman Khalid
4e796c575a Merge pull request #5366 from edx/usman/tnl367-transaction-level-decorator
MySQL transaction isolation level decorator.
2014-10-02 19:16:46 +05:00
Stephen Sanchez
bf112f7ef0 Add new enrollment message to the dashboard
The body of the enrollment message template

Tokenize platform name in message.

Changing to a datetime enrollment approach

Adding sorting. A little refactoring.

Adding confguration model for time delta

Adding admin registration and basic form for new config model.

Fixing docstring typo

Updating default time delta to 0, adding test to show it disabled functionality.

Removing the form from configuration and tweaking the enrollment message html
2014-10-02 12:32:35 +00:00
Usman Khalid
32063fe003 Added commit_on_success_with_read_committed decorator to views
which raise IntegrityErrors.

TNL-367
2014-10-01 19:48:37 +05:00
Renzo Lucioni
cc6e63dd22 Prepare track selection page for new audit track 2014-09-12 13:58:13 -04:00
Renzo Lucioni
0b2840ee6f Skip audit enrollment if user is in the experimental branch 2014-09-08 14:17:04 -04:00
Will Daly
83bfb17807 Use new-style course locators consistently when setting the donation amount in the session
Update devstack settings to use new CyberSource API
2014-08-28 13:55:31 -04:00
Will Daly
714f9bb69f Auto enroll students even if there are multiple course modes
Add session middleware to an external auth test to fix a test failure with the auto-registration AB-test changes
2014-08-15 10:26:27 -04:00
Diana Huang
9aa095dd21 Adapt flow for new 'professional' mode.
ECOM-41
2014-08-12 18:44:46 +00:00
Julia Hansbrough
805c325653 Update redirect and wording for prof ed
- Changes registraiton button text for professional ed courses
- Professional ed courses do not see "choose your track" page; go straight to verification flow
2014-08-12 18:44:40 +00:00
chrisndodge
246a431760 Merge pull request #4590 from edx/cdodge/fix-reg-codes
eCommerce enhancements (pt. 2)
2014-08-05 13:12:52 -04:00
Chris Dodge
a1248f614e add more detail to new CourseModesArchive table 2014-08-05 10:00:17 -04:00
Muhammad Shoaib
33d5b49e81 added course price set/view/edit functionality
added CoursmodeArchive model to save the old prices history

analytics -> instructor_analytics

analytics -> instructor_analytics
2014-08-05 10:00:13 -04:00
Diana Huang
ec13aabe97 Fix up tests and enrollment behavior. 2014-08-05 09:32:39 -04:00
Diana Huang
52f9613274 Add an optional description field to course modes. 2014-08-05 09:32:39 -04:00
Diana Huang
3d942503c2 Add the ability to override non-standard verified mode names 2014-08-05 09:32:39 -04:00
Diana Huang
cfc3b46c5c Allow verified to be offered without audit 2014-08-05 09:32:38 -04:00
Julia Hansbrough
d9dd45662e Enables LMS to handle deprecated URLs
LMS-2651
2014-07-09 21:51:37 +00:00
Sarina Canelake
3adc2f0a2e Fix opaque_keys imports from hotfixes 2014-06-11 21:32:41 -04:00
Sarina Canelake
7e36c35043 Merge branch 'release' 2014-06-11 21:30:05 -04:00
Calen Pennington
f6ea16223b Allow users that have unregistered from a verified course to re-register.
Fixes LMS-2830
2014-06-11 12:37:53 -04:00
Sarina Canelake
2aea261d48 Merge branch 'release'
Conflicts:
	common/djangoapps/course_modes/views.py
	common/djangoapps/student/tests/test_roles.py
	common/djangoapps/student/views.py
	common/lib/opaque_keys/opaque_keys/__init__.py
	common/lib/opaque_keys/opaque_keys/tests/test_opaque_keys.py
	common/lib/xmodule/xmodule/contentstore/mongo.py
	lms/djangoapps/certificates/management/commands/gen_cert_report.py
	lms/djangoapps/notes/views.py
2014-06-10 16:59:23 -04:00
Don Mitchell
2c6437a279 Fix performance regression
Remove course_from_id
don't fetch whole course when the root will do
don't fetch even the root if the id will do
check for definition.data == null
2014-06-09 15:10:47 -04:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Usman Khalid
1ecfac3f84 Added trailing slashes otherwise the course_id regex sometimes eats up get parameters.
LMS-2738
2014-05-26 15:50:23 +05:00