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
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.
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.
1. Spliting strings inside the call to `gettext()` in javascript breaks the string extraction process, so the string should kept in one line.
2. Using escape string inside a string in `gettext()` may cause the extractor to misunderstand the escape string, so that it will escape this escape string.
So the time-consuming i18n_extract step can be skipped for situations that only the translated strings are modified while the source strings are still the same.
Adds an /xdomain_proxy.html endpoint that serves
the proxy file from the xdomain library. This
allows IE9 users to iframe in the proxy page
to simulate a cross-domain request with cookies.
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.