- 28 Sep, 2017 1 commit
-
-
EDUCATOR-171
Nimisha Asthagiri committed
-
- 12 Jun, 2017 1 commit
-
-
Andy Armstrong committed
-
- 12 Oct, 2016 1 commit
-
-
Sanford Student committed
-
- 07 Oct, 2016 1 commit
-
-
Jesse Shapiro committed
-
- 03 Aug, 2016 1 commit
-
-
Ned Batchelder committed
-
- 24 Jun, 2016 1 commit
-
-
Nimisha Asthagiri committed
-
- 05 Apr, 2016 1 commit
-
-
Amir Qayyum Khan committed
-
- 25 Mar, 2016 1 commit
-
-
Amir Qayyum Khan committed
-
- 15 Mar, 2016 1 commit
-
-
Added validation to ccx create form, If ccxcon url is set then app will ask user to create ccx from ccxcon app
Amir Qayyum Khan committed
-
- 25 Feb, 2016 1 commit
-
-
REST APIs modified
Giovanni Di Milia committed
-
- 22 Feb, 2016 2 commits
-
-
Revert "Added staff role on ccx to staff of master course and added a data migration for existing ccx courses." This reverts commit 91bf48fc.
Michael Katz committed -
Amir Qayyum Khan committed
-
- 17 Feb, 2016 1 commit
-
-
Added staff role on ccx to staff of master course and added a data migration for existing ccx courses.
Amir Qayyum Khan committed
-
- 27 Jan, 2016 1 commit
-
-
CCX REST APIs OAUTH2 authorization for CCX APIs - oauth2 authorization required for ccx list. - Course-instructor permission for ccx api endpoint - Protection for detail view too. Tests for CCX REST APIs and OAUTH2 authorization
Giovanni Di Milia committed
-
- 08 Jan, 2016 1 commit
-
-
Amir Qayyum Khan committed
-
- 06 Jan, 2016 1 commit
-
-
Amir Qayyum Khan committed
-
- 10 Nov, 2015 1 commit
-
-
Please note that this is a squshed commit and the work of: Symbolist, macdiesel, nedbat, doctoryes, muzaffaryousaf and muhammad-ammar
Usman Khalid committed
-
- 11 Aug, 2015 1 commit
-
-
This reverts commit 42e78463.
Brandon DeRosier committed
-
- 07 Aug, 2015 1 commit
-
-
This reverts commit 53db053c, reversing changes made to 386a8a27.
Peter Fogg committed
-
- 01 Aug, 2015 1 commit
-
-
enrollments. The goal for this PR is to have a single mechanism for registering users and reducing the number of places where special-casing for ccx courses is needed. The migration at this point is purposefully limited to convert ccx memberships into student enrollments when moving forward. No backward migration is in place at the moment. The ccx membership tables are not removed at this time. It is possible to go backwards and forwards multiple times with no errors or data loss.
Carlos de la Guardia committed
-
- 20 Jul, 2015 1 commit
-
-
Kyle McCormick committed
-
- 12 Jun, 2015 3 commits
-
-
only require ccx-keys once get_current_ccx will now expect a CourseKey instance as its argument, and will raise a value error if this expectation is not met. document reason for local import add special methods to pass attribute setting and deletion through to the wrapped modulestore add __setattr__ and __delattr__ per code review, update __init__ to work with new methods style change per code review clean up context manager usage as recommended by code review remove unused code and imports convert modulestore type tests to use the `get_modulestore_type` api, remove unused imports code quality: add docstrings increase coverage for utils tests fix bug found in testing. increase test coverage on modulestore wrapper code quality fixes code-quality: ignore import error, but mark site for future consideration
cewing committed -
remove references to middleware that were missed previously use key apis rather than local implementation of key conversion. remove local implementationa remove spurious test for attribute fix test setUp to avoid unneeded flattening code quality fixes add security check ensuring that the coach is coach for *this* CCX. prevent ccx/deprecated course id problems 1. do not allow ccx objects to be created if the course id is deprecated 2. filter out any ccx memberships that involve deprecated course ids (in case there are bad ccxs in the database) Fix test failures and errors arising from incorrect code path execution Create context manager to handle unwrapping and restoring ccx values for the modulestore wrapper, employ it throughout modulestore wrapper implementation
cewing committed -
Implement the use of CCX opaque keys throughout the ccx code base include the new custom ccx id package in the github checkouts list update the coach dashboard wrapper to get CCX information from the incoming course_id, if possible update function signatures for all view functions to expect CCX as passed by the dashboard wrapper (default to None), remove calls to get_ccx_for_coach as the ccx is passed in. update reverse calls in python view code to use a CCXLocator for the URL instead of a CourseLocator use CCXLocator where necessary use course id to find ccx, instead of thread local remove unused method and related tests use course id for getting ccx provide course id to the get_current_ccx method ensure the course id passed in is a CourseKey instance of some type whether it starts out as a string or not use the provided block to figure out what the course_id should be, then get the ccx for that redirect to ccx dashboard using coach ccx if no ccx is passed in update student dashboard listing for ccx to build an appropriate url from a CCXLocator, not from the course locator. refactor building the ccx locator so we don't have to do it repeatedly begin test refactoring after ccx_keys introduction Ensure that when access checking happens, the course_locator form of a ccx locator is used. This ensures that the access check happens against the course and it is not necesarry to duplicate the entire access control structure for the course. pick up api change in ccx-keys create and conditionally use a wrapper for the mixed modulestore returned by xmodule.modulestore.django.modulestore the wrapper will strip and restore ccx values from CourseKey and UsageKey objects fix return values on a few methods remove unused symbol pull updated ccx-keys package set course_id on the caching descriptor system to avoid api incompatibilities in some subsystems use ccx.course instead of self.course fix get method to find course keys from blocks that are not themselves keys but have a location attribute (which will be a key) if an item coming out of the db has children, restore the ccx to them as well if the block passed in has a CCX key, unwrap that before we try to look up the override, otherwise it will never be found. pick up a change in the ccx keys package that allows for stripping CCX identity from a usage key begin writing tests to cover this modulestore wrapper remove the switch_pocs view, the url pattern for it, and the tests that covered it remove the ccx context and the middleware responsible for setting the current CCX. These are no longer needed all dashboard views should raise 404 if a ccx is not provided by the coach_dashboard decorator code quality prevent errors resulting from trying to `get` a ccx based on non-unique criteria. remove obsolete usage of ACTIVE_CCX_KEY fix setUp method for grading tests to properly create grades for the ccx rather than for the course. clean up reverse calls code quality adding docstrings to clarify purpose of this patch fix bug in getting ccx for coach fix grading views to properly fetch a ccx-ified course so that grades for that version will be calculated fix small errors in modulestore implementation fix errant merge marker update call to get_current_ccx after key refactoring merged with tab changes
cewing committed
-
- 11 Apr, 2015 12 commits
-
-
add doc strings; fix pep8 warning address some minor issues brought up by the code review process
Carlos de la Guardia committed -
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 committed -
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 committed -
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
Carlos de la Guardia committed -
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.
cewing committed -
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.
cewing committed -
Remove unused assertion. Login is required so this will never be used. No point in having it here.
cewing committed -
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 committed -
Add a utility function to get template data for the POCs to which a user is actively registered Add tests for the new utility
cewing committed -
cewing committed
-
Implelement test coverage for utility code supporting enrollments in CCXs bugfix: prevent UnboundNameError if user does not exist in database.
cewing committed -
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.
Chris Rossi committed
-