1. 04 Jan, 2016 1 commit
  2. 17 Dec, 2015 1 commit
    • Support tool for changing enrollments. · 30f25105
      Allows support staff or global staff to view a list of a learner's
      enrollments, and change enrollment modes. We generate a
      ManualEnrollmentAudit record for these enrollment changes in order to
      track updates. Additionally, enrollment changes are handled through
      the enrollment API, which handles bookkeeping such as granting refunds
      where appropriate.
      
      ECOM-2825
      Peter Fogg committed
  3. 16 Dec, 2015 1 commit
    • Support tool for changing enrollments. · a680919e
      Allows support staff or global staff to view a list of a learner's
      enrollments, and change enrollment modes. We generate a
      ManualEnrollmentAudit record for these enrollment changes in order to
      track updates. Additionally, enrollment changes are handled through
      the enrollment API, which handles bookkeeping such as granting refunds
      where appropriate.
      
      ECOM-2825
      Peter Fogg committed
  4. 10 Dec, 2015 1 commit
  5. 25 Nov, 2015 1 commit
  6. 24 Nov, 2015 1 commit
  7. 22 Nov, 2015 1 commit
  8. 10 Nov, 2015 1 commit
  9. 03 Nov, 2015 1 commit
  10. 30 Oct, 2015 1 commit
    • Add configurable refund window · 1f77810f
      Add configuration model for enrollment refunds.
      
      Use order info from otto in refund window calculation
      
      Delete dupe tests. Extend tests to include window tests
      
      Move ecom client from lib to djangoapps in openedx
      Bill DeRusha committed
  11. 22 Oct, 2015 1 commit
  12. 21 Oct, 2015 1 commit
  13. 20 Oct, 2015 2 commits
    • invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit) · 713689df
      Squashed commits:
      [62dd3f1] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [4269e3b] disble protected access in pylint
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [eb32c9a] fixed the python quality issue of accessing protected fields
      fixed the failing tests
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [4269e3b] disble protected access in pylint
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+2 squashed commits)
      Squashed commits:
      [4bfe22b] remove the delete case because there is none in current scenario
      [802c259] moved the test case to user profile properties file
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [4269e3b] disble protected access in pylint
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [eb32c9a] fixed the python quality issue of accessing protected fields
      fixed the failing tests
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [4269e3b] disble protected access in pylint
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [98d2415] added better log info message
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [62dd3f1] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [4269e3b] disble protected access in pylint
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [eb32c9a] fixed the python quality issue of accessing protected fields
      fixed the failing tests
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [4269e3b] disble protected access in pylint
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+2 squashed commits)
      Squashed commits:
      [4bfe22b] remove the delete case because there is none in current scenario
      [802c259] moved the test case to user profile properties file
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [4269e3b] disble protected access in pylint
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [eb32c9a] fixed the python quality issue of accessing protected fields
      fixed the failing tests
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [4269e3b] disble protected access in pylint
      
      invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [0246b1b] invalidate UserProfile.country cache when UserProfile is updated (+1 squashed commit)
      Squashed commits:
      [7c4fecf] invalidate UserProfile.country cache when UserProfile is updated
      Afeef Janjua committed
  14. 02 Oct, 2015 1 commit
  15. 01 Oct, 2015 1 commit
  16. 24 Sep, 2015 1 commit
  17. 22 Sep, 2015 1 commit
  18. 10 Sep, 2015 1 commit
  19. 02 Sep, 2015 1 commit
  20. 20 Aug, 2015 1 commit
    • In-course reverification access control · ec28a75f
      * Automatically create user partitions on course publish for each ICRV checkpoint.
      * Disable partitions for ICRV checkpoints that have been deleted.
      * Skip partitions that have been disabled when checking access.
      * Add verification access control UI to visibility settings.
      * Add verification access control UI to sequential and vertical settings.
      * Add partition scheme for verification partition groups.
      * Cache information used by verification partition scheme and invalidate the cache on update.
      * Add location parameter to UserPartition so the partition scheme can find the associated checkpoint.
      * Refactor GroupConfiguration to allow multiple user partitions.
      * Add special messaging to ICRV for students in the honor track.
      
      Authors: Zubair Arbi, Awais Qureshi, Aamir Khan, Will Daly
      zubair-arbi committed
  21. 11 Aug, 2015 1 commit
  22. 07 Aug, 2015 1 commit
  23. 03 Aug, 2015 1 commit
  24. 01 Aug, 2015 1 commit
    • Use the standard enrollment table instead of a custom CCX table for CCX · 458ed0a6
      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
  25. 29 Jul, 2015 1 commit
  26. 20 Jul, 2015 1 commit
  27. 13 Jul, 2015 2 commits
  28. 08 Jul, 2015 1 commit
  29. 06 Jul, 2015 1 commit
  30. 02 Jul, 2015 1 commit
    • Credit eligibility/provider refactor · e2acf3ab
      * Remove m2m relation between credit course and credit providers.
      * Separate eligibility and provider APIs into different modules.
      * Add API call for retrieving a user's eligibilities.
      * Cache credit course list.
      * Style the dashboard purchase button.
      * Display a link for the credit provider on the dashboard.
      * Add analytics events for clicks on the purchase button.
      * Expose more credit models to Django admin and add search functionality.
      Will Daly committed
  31. 22 Jun, 2015 1 commit
  32. 16 Jun, 2015 1 commit
  33. 12 Jun, 2015 1 commit
    • 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
  34. 04 Jun, 2015 1 commit
  35. 03 Jun, 2015 1 commit
  36. 02 Jun, 2015 2 commits
  37. 22 May, 2015 1 commit
    • SOL-794 Detailed Enrollment Report · b555c869
      - added the abstract and concrete layers of enrollment report provider
      - created a celery task.
      -added the button in the e-commerce reports section
      
      added the enrollment data backend
      
      added the payment data and start writing the test cases.
      
      updated the code with the feedback suggestions and wrote some test cases.
      - all the downloadable reports are now visible in the ecommerce download section.
      Pending instructor tasks is also visible in the ecommerce section
      
      added the fields in the user profile information
      changed the report store configuration key
      added the new http endpoint for financial reports to add more permissions for finance_admin to access.
      
      fix quality issues
      
      added test cases to check csv content data
      
      rebased with master and resolved conflicts
      
      changed the log messages
      
      added the changes as per code clintonb suggestions during code review
      
      updated the test cases for the finance_admin decorator
      
      changes suggested by clinton.
      
      Created and moved Table level filters to the Custom Manager for the CourseEnrollment model.
      
      ecommerce.js file was loaded twice in the instructor_dashboard.js fixed the issues
      
      added the registration code column in the csv
      
      added the full gender in the csv file
      
      Update data sources and add display name translations for the report columns
      
      fix meta name
      
      Make sure the reports section does not appear on non whitelabel courses
      
      pylint fixes
      
      expand out enumerated values
      Muhammad Shoaib committed