1. 11 Sep, 2015 1 commit
  2. 20 Jul, 2015 2 commits
  3. 17 Jun, 2015 1 commit
  4. 15 Jun, 2015 1 commit
  5. 12 Jun, 2015 2 commits
    • MIT CCX: Use CCX Keys: further revisions in response to code review · cb431ccb
      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
    • MIT CCX: Use CCX Keys · 6a0c9aee
      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
  6. 07 May, 2015 1 commit
  7. 11 Apr, 2015 4 commits
    • MIT: CCX. Code Quality fixes · 9ddee934
      add doc strings; fix pep8 warning
      address some minor issues brought up by the code review process
      Carlos de la Guardia committed
    • MIT: CCX. Fix issues identified in code review · b3da2a54
      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
    • MIT: CCX. Rename POC to CCX · 7f691e4a
      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
    • MIT: CCX. Implement Custom Courses for Edx. · a2cb7fd2
      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