Commit Graph

359 Commits

Author SHA1 Message Date
David Ormsbee
3ce87583ab Shift enroll/unenroll logic to CourseEnrollment model, add is_active and mode.
Features coming down the pipe will want to be able to:
* Refer to enrollments before they are actually activated (approval step).
* See what courses a user used to be enrolled in for when they re-enroll in
  the same course, or a different run of that course.
* Have different "modes" of enrolling in a course, representing things like
  honor certificate enrollment, auditing (no certs), etc.

This change adds an is_active flag and mode (with default being "honor").
The commit is only as large as it is because many parts of the codebase were
manipulating enrollments by adding and removing CourseEnrollment objects
directly. It was necessary to create classmethods on CourseEnrollment to
encapsulate this functionality and then port everything over to using them.

The migration to add columns has been tested on a prod replica, and seems to be
fine for running on a live system with single digit millions of rows of
enrollments.
2013-08-14 13:23:06 -04:00
cahrens
3732d418c9 Add helper methods to hide internals of how users are enrolled in courses.
Remove _

Minor cleanup.
2013-08-06 09:36:39 -04:00
cahrens
a227b14fdd Auto-enroll course staff to fix "View Live".
STUD-554

Code review feedback.
2013-08-05 15:00:37 -04:00
Chris Dodge
beda411e28 improve error message regarding uniqueness 2013-07-30 17:29:02 -04:00
Chris Dodge
d005323ace update error message to be more specific to what the user needs to fix 2013-07-30 17:25:47 -04:00
Chris Dodge
f29819ca4a add some field specific error messages regarding uniqueness 2013-07-30 17:24:44 -04:00
Chris Dodge
1cd70ee386 fix some error messages and also make localizable strings 2013-07-30 17:24:43 -04:00
Chris Dodge
60f03f5dcc fixing tests 2013-07-30 17:24:43 -04:00
Chris Dodge
e23b693d90 put a 4th field in the create new course form where the user must specify a course_run. Also update unit tests to also provide this 4th parameter. Styling changes to better lay out the form fields are still TBD. 2013-07-30 17:20:09 -04:00
Don Mitchell
541c98a3af POST requests were claiming request.method == 'PUT'
So, changed handlers to look for either value.
2013-07-19 11:14:01 -04:00
Diana Huang
3f9431e8cf Provide implicit saves for XBlocks and XModules.
Update existing tests and provide new ones to test new paradigm.
2013-07-18 16:37:34 -04:00
Calen Pennington
f6b7b2678d Set about page default content from overview.yml template 2013-07-16 14:33:59 -04:00
Don Mitchell
3722685e1a No longer persist XModule templates
Instead, we use XModule field default values when creating an empty
XModule. Driven by this use case, we also allow for XModules to be
created in memory without being persisted to the database at all. This
necessitates a change to the Modulestore api, replacing clone_item with
create_draft and save_xmodule.
2013-07-16 14:33:58 -04:00
David Baumgold
628dff5398 pylint fixing 2013-07-09 19:16:43 -04:00
David Baumgold
7506562f50 Another lettuce test, and fixes to make it work 2013-07-09 19:16:11 -04:00
David Baumgold
e1ed5c3d2d docstrings 2013-07-09 19:16:10 -04:00
David Baumgold
2a92a14054 Wrote simple lettuce tests for pdf textbooks 2013-07-09 19:16:09 -04:00
David Baumgold
4bc109708f Use django-method-override module
Replacing the get_request_method function everywhere
2013-07-09 19:16:09 -04:00
David Baumgold
bc3a67ec89 Fix reference error 2013-07-09 19:16:09 -04:00
David Baumgold
ef81556cc5 Use JsonResponse when it makes sense 2013-07-09 19:16:08 -04:00
David Baumgold
090d0d4464 Fix up unit tests 2013-07-09 19:16:08 -04:00
David Baumgold
77ae9a6a78 PDF Textbooks: fetch/save individual textbooks
Created a few RESTful API endpoints, which required creating and assigning
arbitrary IDs to PDF textbooks. Changed the Backbone views to save individual
models, instead of saving a whole collection.
2013-07-09 19:16:07 -04:00
David Baumgold
27e895393c Added generic JsonResponse class
Based on http://djangosnippets.org/snippets/154/
2013-07-09 19:16:07 -04:00
David Baumgold
404c36b8f4 PDF textbooks: namespace JS variables for URLs 2013-07-09 19:16:07 -04:00
David Baumgold
05cb13b171 Adding and fixing tests 2013-07-09 19:16:04 -04:00
David Baumgold
8934cf35ba Add pdf_textbooks tab when textbooks are created 2013-07-09 19:16:04 -04:00
David Baumgold
0d415d814b Remove unused imports 2013-07-09 19:16:03 -04:00
David Baumgold
4509dc03b0 Pull and save pdf textbook information to/from the correct modulestore 2013-07-09 19:16:02 -04:00
David Baumgold
6a3360cefa Full front-end/back-end connection via Backbone.sync. No data validation whatsoever. 2013-07-09 19:16:02 -04:00
David Baumgold
00b885deaa Update pdf textbooks backend to respond to AJAX requests with JSON 2013-07-09 19:16:01 -04:00
David Baumgold
e607bc70ad Pull assets into Mako template for PDF textbooks 2013-07-09 19:16:01 -04:00
David Baumgold
e0eec89e09 Truncate AJAX error messages in notification 2013-07-09 19:15:59 -04:00
David Baumgold
a84f66cd51 Pass asset upload URL to Javascript 2013-07-09 19:15:58 -04:00
David Baumgold
3d61c6294c Stubbed out textbooks index page 2013-07-09 19:15:58 -04:00
David Baumgold
cc4e01b4c6 Removed obsolete active_tab template variable 2013-07-09 19:15:58 -04:00
Jean Manuel Nater
18861e4ef9 Removed some pep8 violations. 2013-07-09 19:15:57 -04:00
Don Mitchell
a2524c517f Force locations to be Location objects earlier 2013-07-01 12:33:08 -04:00
cahrens
318372f2c0 Introduce course creator group. 2013-06-26 10:48:31 -04:00
cahrens
d601cee8e5 Merge branch 'master' into christina/course-settings-drupal 2013-06-20 11:00:12 -04:00
cahrens
6e96b88518 On marketing site, disable course settings options that do not work.
When on the marketing site (edx.org) disable portions of the course settings page in Studio that do not actually work in that environment.
2013-06-19 11:28:16 -04:00
Don Mitchell
1ff022e181 Incidental pep8 changes 2013-06-18 17:25:06 -04:00
cahrens
fae8fd3841 Merge branch 'master' into feature/christina/unify-fields
Conflicts:
	common/lib/xmodule/xmodule/capa_module.py
	common/lib/xmodule/xmodule/fields.py
	common/lib/xmodule/xmodule/peer_grading_module.py
	common/lib/xmodule/xmodule/tests/test_fields.py
	requirements/edx/github.txt
2013-06-13 10:55:13 -04:00
cahrens
6e92ddf3dd Cannot set String field to a dict anymore! 2013-06-12 17:07:41 -04:00
Don Mitchell
d7194e6bec struct_time to datetime conversion. 2013-06-10 17:16:34 -04:00
Chris Dodge
a44e816877 remove_open_ended_panel_tab() -> remove_extra_paneltab(). Also, update new forums test factors to use refactored Models.py 2013-05-20 10:33:52 -04:00
Chris Dodge
fbbae44988 Merge branch 'master' of github.com:edx/edx-platform into feature/cdodge/autoprovision-forums-master
Conflicts:
	cms/djangoapps/contentstore/views/course.py
	lms/djangoapps/django_comment_client/base/views.py
	lms/djangoapps/django_comment_client/management/commands/show_permissions.py
	lms/djangoapps/django_comment_client/models.py
	lms/djangoapps/django_comment_client/tests/test_utils.py
	lms/envs/common.py
2013-05-20 10:22:36 -04:00
Arthur Barrett
430e009b5d added TODO for open ended and notes tab advanced policy settings. 2013-05-16 13:22:40 -04:00
Chris Dodge
5df23d15f2 Merge branch 'master' of github.com:edx/edx-platform into feature/cdodge/autoprovision-forums-master
Conflicts:
	cms/djangoapps/contentstore/views/course.py
2013-05-14 10:57:11 -04:00
Arthur Barrett
5e39971fcc merge master. resolved conflicts in component.py and course.py. 2013-05-14 10:54:21 -04:00
Arthur Barrett
bea943d537 merged master. resolved conflict with the cms contentstore/views.py that was refactored into separate modules. 2013-05-13 16:26:28 -04:00