Commit Graph

14096 Commits

Author SHA1 Message Date
Carlos de la Guardia
97748e56ea MIT: CCX. Fix test failures
Django double-importing overwrites the TESTUSER object, invalidating identity comparisons.  Use a string instead to avoid the problem.

The get_current_poc function operates using a threadlocal and so no longer requires the user as an argument
2015-04-10 23:28:09 -04:00
cewing
0b184881f5 MIT: CCX. Implement display of CCXs in user-facing templates such as dashboard
Show the display name for the POC in the menu for switching.

Remove the MOOC: prefix from the MOOC title to avoid truncation issues.

Incorporate the display name of the POC into the display of course org/number/name at the top of the page in the default theme.

Provide warning on the grading policy page in system warning style.

Provide a PocMembership model api that returns PocMemberships for a user.  Default to active memberships.

Build generator that yields triplets of poc, membership and course for each poc membership a user has.

This is an analog of the `get_course_enrollment_pairs` in common/djangoapps/students/views.py and is used in the student dashboard to provide pocs as options for a student to view.

refactor to use model api instead of inline code.

provide pocs as possible targets for a student to visit from their dashboard.

Unset the current active poc when visiting the dashboard so as to avoid needing to switch active pocs when viewing a plain course.  This ensures we can leave template code for the display of courses unchanged.

Update templates to show pocs in a course-like view on a student's dashboard.

Revert a portion of the template change so that the poc title will still render properly when a poc is being viewed.
2015-04-10 23:28:09 -04:00
Carlos de la Guardia
bb7eed58db MIT: CCX. Refactore using backbone.js 2015-04-10 23:28:00 -04:00
cewing
96ca1da054 MIT: CCX. Increase test coverage
Improve testing of views and utils

Test api methods added to models.
2015-04-10 23:21:13 -04:00
cewing
6f1a2ed531 MIT: CCX. Fix issues identified in code review
Remove over-cautious assertion and allow calling errors to be calling errors

fix problems in auto_enroll method

ensure that the active poc is wiped out if the user has no poc membership
2015-04-10 23:21:13 -04:00
Carlos de la Guardia
91aa7b06ce MIT: CCX. Handle setting dates for blocks
Add date widget for setting start and due dates for the course sections, plus simple server side validation for avoiding db corruption from bad dates

Add immediate feedback for date validation errors
2015-04-10 23:19:47 -04:00
cewing
d4a1e99a83 MIT: CCX. Implement auto-enroll for CCX students
Based loosely on course enrollment model

Ensure that registered users are 'active' when they are enrolled in a POC

Respect the 'auto enroll' and 'email students' checkboxes in the UI

Add an auto_enroll flag to the PocFutureMembership model so we can automatically enroll non-users when they have registered and activated their account.

Build a future enrollment using the auto_enroll value from the request so we can ensure that non-existent users can be auto-enrolled

Ensure that any user added by way of the one-at-a-time UI is automatically auto-enrolled

Update tests with email sending to use the flag from the request

Provide api on the PocMembership object to auto-enroll a newly active member in this poc.

This method will delete the passed PocFutureMembership object and will automatically enroll the user in the POC named in that future membership as well as the MOOC from which it was created

Conditionally activate poc memberships that are pending when a new registree first activates their account.
2015-04-10 23:18:39 -04:00
Chris Rossi
2b4da4d836 MIT: CCX. Address performance issues.
Use client's session to set POC for test, now that we have the capability to do that.

Use a middleware to set the current POC one time per request, and avoid having to look up the stack for the current request in 'get_current_poc'.

Fetch all overrides for a block at one time.

Speed up the lineage computation by doing some caching.

Unused import.

Get field overrides once per user per block.

Streamline configuration.

Fix poc config tuples
2015-04-10 23:17:38 -04:00
cewing
a1ed62089f MIT: CCX. Code Quality fixes
Remove unused assertion.  Login is required so this will never be used.  No point in having it here.
2015-04-10 23:17:08 -04:00
cewing
98b663dc69 MIT: CCX. Implement mechanism for switching POC and MOOC views
Ensure there is a consistent key for the session dict that will store the value of the poc_id if one is active.  If none is active, the mooc is assumed to be active.

Add mooc_name, mooc_url and active to the dict for each poc membership.

Update the navigation template to show link to mooc if poc is active, or to poc if not.

Ensure the switch_active_pocs view is covered well with tests.
2015-04-10 23:16:44 -04:00
cewing
591c75a3eb MIT: CCX. Provide template data for active POCs
Add a utility function to get template data for the POCs to which a user is actively registered

Add tests for the new utility
2015-04-10 23:16:02 -04:00
Chris Rossi
eecefec8a0 MIT: CCX. Implement coach customization of grading policy for a CCX
Story #35 As a coach I can see and edit the json for the grading policy.

Story #34 Recalculate grading policy

Repair the broken test for grading by providing an explicit POC context for the request to run in
2015-04-10 23:15:29 -04:00
Chris Rossi
2c586ddbe4 MIT: CCX. Code Quality fixes 2015-04-10 23:15:15 -04:00
Chris Rossi
e66fe2b311 MIT: CCX. Properly handle possible representations of the course key 2015-04-10 23:13:57 -04:00
Chris Rossi
aa1333c363 MIT: CCX. Hide course blocks not in the CCX from view for coaches and students 2015-04-10 23:13:11 -04:00
cewing
6cfc3a025f MIT: CCX. Implement individual student enrollments 2015-04-10 23:12:35 -04:00
Chris Rossi
630d1ce0d4 MIT: CCX. Implement coach interactions with student grades
Story #4: Coaches sees grades.

Story #9: Coach downloads grades.
2015-04-10 23:12:14 -04:00
cewing
cabb1962a6 MIT: CCX. Code Quality fixes 2015-04-10 23:11:56 -04:00
cewing
12625a9255 MIT: CCX. Increase test coverage
Implelement test coverage for utility code supporting enrollments in CCXs

bugfix: prevent UnboundNameError if user does not exist in database.
2015-04-10 23:11:07 -04:00
Chris Rossi
a2cb7fd276 MIT: CCX. Implement Custom Courses for Edx.
This feature provides the ability to designate a "coach" who can create customized runs of an existing course, invite students to participate, and manage students through the run of the course.

In this squashed commit we implement the initial scifi, add the 'POC Coach' course role, refine the scifi, add migrations for models, create POCs, enforce POC Coach role, provide panels for Coach Dashboard, set up rudimentary display of course outline, add and remove units, show/hide all units, and save schedule changes, set dates when adding units, edit dates on units already added and provide some tests.

We also provide mechanisms for invitation and enrollment in a POC (to become CCX) and control the display of blocks to students in a POC.
2015-04-10 23:10:48 -04:00
Ben Patterson
a542b3d3c8 Merge pull request #7647 from edx/benp/remove-lettuce-tab-tests
[Lettuce deprecation] Remove redundant lettuce tab tests.
2015-04-10 11:57:25 -04:00
Aamir
a83d068600 Merge pull request #7617 from edx/aamir-khan/ECOM-1290-redirect-to-courseware-new
ECOM-1290: added the redirection back to courseware after re-verificatio...
2015-04-10 20:53:45 +05:00
aamir-khan
ca08b979b3 ECOM-1290: added the redirection back to courseware after re-verification 2015-04-10 19:44:35 +05:00
zubair-arbi
8db98203ff Merge pull request #7601 from edx/zub/story/ecom-1228/enhance-track-selection-page
update track selection page, use only min price for course modes
2015-04-10 14:52:15 +05:00
zubair-arbi
2c10eeb3aa update track selection page, use only min price for course modes
ECOM-1228
2015-04-10 11:53:31 +05:00
zubair-arbi
305b7138e5 Merge pull request #7639 from edx/zub/bugfix/ecom-653-remove-invalid-link
update invalid documentation link in '_payment_page_response' method doc...
2015-04-10 11:07:33 +05:00
Ben Patterson
1146bb2c61 [Lettuce deprecation] Remove redundant lettuce tab tests.
These are already covered by bok-choy tests:
  File: test_lms.py
  Class: HighLevelTabTest
2015-04-09 18:20:03 -04:00
zubair-arbi
3cc931d8d9 update invalid documentation link in '_payment_page_response' method docstring
ECOM-653
2015-04-09 19:13:28 +05:00
Stephen Sanchez
1669274175 :Allow the receipt page to support Oscar Orders. 2015-04-09 14:01:12 +00:00
Christine Lytwynec
05a8e23d57 Merge pull request #7633 from edx/release
Release
2015-04-08 15:40:45 -04:00
Adam Palay
9fa8187ffc Revert "use different queue for smaller emails (TNL-1591)"
This reverts commit c2e5bd3d98.
2015-04-08 12:33:09 -04:00
Adam Palay
d9a21bdf4d use email context for keyword substitution, cutting down on db queries (TNL-1591) 2015-04-08 11:22:26 -04:00
aamir-khan
917ca595cc ECOM-1289: added the re-verification service to implement the re-verification xblock 2015-04-07 18:09:53 +05:00
Chris Rossi
3256eb1ff6 Architecture for arbitrary field overrides, field overrides for
individual students, and a reimplementation of the individual due date
feature.

This work introduces an architecture, used with the 'authored_data'
portion of LmsFieldData, which allows arbitrary field overrides to be
made for fields that are part of the course content or settings (Mongo
data).  The basic architecture is extensible by means of writing and
configuring arbitrary field override providers.

One concrete implementation of a field override provider is provided
which allows for overrides to be for individual students.  This provider
is then used as a basis for reimplementing the individual due date
extensions feature as a proof of concept for the design.

One can imagine writing override providers that provide overrides based
on a student's membership in a cohort or other similar idea.  This work
is being done, in fact, to pave the way for the Personal Online Courses
feature being developed by MIT, which will use an override provider very
much long those lines.
2015-04-06 13:04:44 -07:00
Adam
a8bd6dc32d Merge pull request #7570 from edx/adam/bulk-email-changes
use different queue for smaller emails (TNL-1591)
2015-04-06 10:01:51 -04:00
Adam Palay
c2e5bd3d98 use different queue for smaller emails (TNL-1591) 2015-04-06 08:13:55 -04:00
louyihua
0d0d1a0ccd Ignore pylint error 7610 (translation-of-non-string) on where it is intended to do
As some i18n features need ```ugettext``` or its shorcut ```_``` to be called on a non-string-literal, so the pylint check of ```translation-of-non-string``` should be explicitly disabled in such situations.
2015-04-03 11:59:53 +08:00
Nimisha Asthagiri
58afd8a7c7 Merge pull request #7541 from edx/mobile/import_fix_course_id
MA-410 Update video_module import to use target course_id.
2015-04-02 19:56:04 -04:00
Adam
9ad4b71688 Merge pull request #7572 from edx/release
Release
2015-04-02 17:24:50 -04:00
Jesse Zoldak
5b93992ecb Fix trailing whitespace issues 2015-04-02 16:32:22 -04:00
Mark Hoeber
d7eb8cf7e4 Merge pull request #7309 from edx/markhoeber-doc1748
Platform APIs Doc
2015-04-02 14:47:10 -04:00
Awais Jibran
037a189828 Merge pull request #7555 from awaisdar001/aj/tnl382-fix-lms-progress-page-invalid-url
Fixed invalid URL in progress page.
2015-04-02 22:14:18 +05:00
Nimisha Asthagiri
7e1104c421 MA-410 Update video_module import to use target course_id. 2015-04-02 11:38:01 -04:00
Waheed Ahmed
62a515f038 Fixed static pages removed on import for split course.
PLAT-484
2015-04-02 20:14:46 +05:00
Awais Qureshi
4db1753e57 Merge pull request #7530 from edx/aamir-khan/ECOM-912-in-course-reverification
Aamir khan/ecom 912 in course reverification
2015-04-02 19:05:08 +05:00
Waheed Ahmed
d9b685d5df Fixed beta tester functionality for ora problems.
TNL-1736
2015-04-02 16:51:58 +05:00
Awais Jibran
13e2ecee18 Code refector: Using replaced 'to_deprecated_string' with 'unicode' 2015-04-02 15:30:24 +05:00
Awais
1d8b0e3e89 ECOM-1205-adding models and tests 2015-04-02 14:55:41 +05:00
Mark Hoeber
b78f25c8d1 Platform API Documentation 2015-04-01 16:04:50 -04:00
MAC
973e3d0306 Fixed invalid URL in progress page.
TNL-382
2015-04-01 20:33:35 +05:00