- Apr 11, 2015
-
-
Carlos de la Guardia authored
Remove duplicated course listings template code on the student dashboard.
-
cewing authored
fix for making sure all descriptor fields are always available for course descriptors despite module_class tricks add required fields to cache data for tests use a different strategy to mock up the get_children method
-
Carlos de la Guardia authored
Switch to font awesome icons, to fix issue with toggling collapsible sections of the schedule in ccx coach dashboard Ensure access check takes place after descriptor is bound to the user, or field override checks will never happen
-
Carlos de la Guardia authored
add doc strings; fix pep8 warning address some minor issues brought up by the code review process
-
Carlos de la Guardia authored
Original Commit Messages: use edx's own get_parent method, rather than our own. add field to unique constraint to avoid MultipleObjectsReturned in case of multiple browser clicks on submit fix 0011 migration, inherit from TimeStampedField and add composite index (migration only) fix bug where adding an already registered user to a ccx would cause a crash due to an undefined variable add assertNumQueries tests to test modules where override field providers are used remove unnecessary teardown implement recommended style for checking empty list import utility methods rather than use duplicate code added comment explaining date conversion to string for json add logging for invalid users or emails when enrolling students add comment about xmodule user state avoid using get_or_create, which seems to be causing a race condition on schedule change save relocate badly placed edvent handlers to fix multiple submit problem
-
Carlos de la Guardia authored
Use in tabs and other code to show or hide ccx coach tab depending on if the user has the coach role or not
-
cewing authored
Final official name is Custom Courses for EdX (CCX), rename all code to remove previous name. Rename the FEATURE constant used to identify this feature Rename the middleware for the CCX change rename the constant used for storing the current poc id on the session. rename the _PocContext threading local rename the override provider in all places where it is referenced `PersonalOnlineCoursesOverrideProvider` -> `CustomCoursesForEdxOverrideProvider` generally rename symbols from overrides.py to replace `poc` with `ccx` where possible without changing model names or attributes rename more symbols from poc to ccx rename util functions from app utils module general symbol renaming poc -> ccx in views.py and related url changes Rename the coach role wherever it is used. reword poc_coach to ccx_coach UI rename replace POC with CCX globally template context variable renamed rename poc_ to ccx_ in urls and all related locations (views, js, scss etc) remove pocs migrations Final massive renaming, including models. Re-built migration. cleaning up a few tailing references Fix reference typo in schedule template JS undo modifications made on the fly in test setup to ensure that our tests are properly isolated from the rest of the system tests. Fixes jazkarta/edx-platform#38 Clean up some leftover strings and comments fixing more strings and comments in python files fix a naming error in the schedule tab that was causing problems in deleting courseware items. Fixes jazkarta/edx-platform#36 updating tests and utility code to match changes in infrastructure from latest rebase
-
cewing authored
When the POC feature is enabled and there is an active poc displaying discussions leads to undefined behaviors. Hide the tab to prevent usability problems.
-
Carlos de la Guardia authored
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
-
cewing authored
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.
-
Carlos de la Guardia authored
-
cewing authored
Improve testing of views and utils Test api methods added to models.
-
cewing authored
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
-
Carlos de la Guardia authored
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
-
cewing authored
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.
-
Chris Rossi authored
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
-
cewing authored
Remove unused assertion. Login is required so this will never be used. No point in having it here.
-
cewing authored
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.
-
cewing authored
Add a utility function to get template data for the POCs to which a user is actively registered Add tests for the new utility
-
Chris Rossi authored
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
-
Chris Rossi authored
-
Chris Rossi authored
-
Chris Rossi authored
-
cewing authored
-
Chris Rossi authored
Story #4: Coaches sees grades. Story #9: Coach downloads grades.
-
cewing authored
-
cewing authored
Implelement test coverage for utility code supporting enrollments in CCXs bugfix: prevent UnboundNameError if user does not exist in database.
-
Chris Rossi authored
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.
-
- Apr 06, 2015
-
-
Chris Rossi authored
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.
-
Piotr Mitros authored
Make e-mail activation optional
-
Piotr Mitros authored
-
Sarina Canelake authored
Fix i18n breaking in some js and underscore files
-
Sarina Canelake authored
Add i18n_fastgenerate
-
Adam authored
use different queue for smaller emails (TNL-1591)
-
Mark Hoeber authored
Redirect Enrollment API to Platform API doc
-
Sarina Canelake authored
Update translations (autogenerated message)
-
Sarina Canelake authored
-
Adam Palay authored
-
Braden MacDonald authored
Add mentoring v2 and its bump dependency xblock-utils for Harvard
-
- Apr 05, 2015
-
-
louyihua authored
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.
-