1. 23 Feb, 2015 1 commit
  2. 20 Feb, 2015 1 commit
  3. 13 Feb, 2015 1 commit
  4. 10 Feb, 2015 1 commit
    • Implement IP filtering in embargo middleware. · 98ee3a53
      Add history table for course access rule changes.
      
      Provide test utility for simulating restricted access.
      
      Provide `redirect_if_blocked` method for integration with other
      parts of the system (will be used for blocking enrollment).
      
      Add info-level logging explaining when and why users are blocked.
      Will Daly committed
  5. 09 Feb, 2015 2 commits
    • Fix embargo migration to the new data models. · 7e746f7d
      The previous version of this migration incorrectly handled
      disabled configuration.  When configuration is disabled,
      the embargoed country field was the empty string; calling
      str.split(",") produced a list with a single empty list entry,
      which is not a valid country code.
      Will Daly committed
    • Add new models to embargo to support country access · 92c2fdbc
      Add Django admin UI for configuring country access
      
      Migrate existing embargo rules into the new tables.
      
      ECOM-996: updated the middleware to use new models and access rules
      
      ECOM-996: added the flag to support old and new formats
      
      ECOM-996: added the api layer for country access settings
      
      ECOM-996: added the api layer for country access settings
      
      ECOM-996 implementing the white and blacklist checks.
      
      ECOM-996 minor re-factoring in api.
      
      ECOM-996 minor re-factoring in api.
      
      ECOM-1025 refactoring the code according to PR feedback.
      
      ECOM-1025 refactoring the code according to PR feedback.
      
      ECOM-1025 deleting cache in model save and delete methods
      
      ECOM-1025 adding basic api test cases file.
      
      ECOM-1025 refactoring the code according to PR feedback.
      
      ECOM-1025 refactoring the code according to PR feedback.
      
      ECOM-1025 refactoring the code according to PR feedback. adding the test cases.
      
      ECOM-1025 removing extra line
      
      ECOM-1025 removing un-used function.
      
      ECOM-1025 removing un-used function.
      
      ECOM-1025 re-factor the code.
      
      ECOM-1025 re-name the test file to test_middleware_access_rules.py. we already had old test_middleware.py
      
      ECOM-1025 adding test cases for newly added models.
      
      ECOM-1025 adding test cases and resolve conflicts.
      
      ECOM-1025 fixing the quality and pep-8 issues.
      
      ECOM-1025 re-factoring the code according to the PR feedback.
      
      ECOM-1025 re-name the variable name.
      
      ECOM-1025 removing the _check_ip_lists and its test cases. also added few missing scenarios test cases.
      
      ECOM-1025 removing un-used line.
      Will Daly committed
  6. 04 Feb, 2015 2 commits
    • Better support specifying of modulestore configuration in test cases · b353ed2e
      The existing pattern of using `override_settings(MODULESTORE=...)` prevented
      us from having more than one layer of subclassing in modulestore tests.
      
      In a structure like:
      
          @override_settings(MODULESTORE=store_a)
          class BaseTestCase(ModuleStoreTestCase):
              def setUp(self):
                  # use store
      
          @override_settings(MODULESTORE=store_b)
          class ChildTestCase(BaseTestCase):
              def setUp(self):
                  # use store
      
      In this case, the store actions performed in `BaseTestCase` on behalf of
      `ChildTestCase` would still use `store_a`, even though the `ChildTestCase`
      had specified to use `store_b`. This is because the `override_settings`
      decorator would be the innermost wrapper around the `BaseTestCase.setUp` method,
      no matter what `ChildTestCase` does.
      
      To remedy this, we move the call to `override_settings` into the
      `ModuleStoreTestCase.setUp` method, and use a cleanup to remove the override.
      Subclasses can just defined the `MODULESTORE` class attribute to specify which
      modulestore to use _for the entire `setUp` chain_.
      
      [PLAT-419]
      Calen Pennington committed
  7. 03 Feb, 2015 1 commit
  8. 02 Feb, 2015 2 commits
  9. 29 Jan, 2015 1 commit
  10. 02 Dec, 2014 1 commit
  11. 01 Dec, 2014 1 commit
  12. 10 Nov, 2014 1 commit
  13. 19 Sep, 2014 1 commit
  14. 12 Sep, 2014 1 commit
  15. 09 Sep, 2014 1 commit
  16. 08 Sep, 2014 1 commit
  17. 05 Sep, 2014 2 commits
  18. 04 Sep, 2014 1 commit
  19. 27 Aug, 2014 1 commit
  20. 14 Aug, 2014 1 commit
  21. 29 May, 2014 1 commit
  22. 21 May, 2014 1 commit
  23. 20 May, 2014 1 commit
  24. 19 May, 2014 3 commits
  25. 07 May, 2014 1 commit
    • Make course ids and usage ids opaque to LMS and Studio [partial commit] · e2bfcf2a
      This commit updates common/djangoapps.
      
      These keys are now objects with a limited interface, and the particular
      internal representation is managed by the data storage layer (the
      modulestore).
      
      For the LMS, there should be no outward-facing changes to the system.
      The keys are, for now, a change to internal representation only. For
      Studio, the new serialized form of the keys is used in urls, to allow
      for further migration in the future.
      
      Co-Author: Andy Armstrong <andya@edx.org>
      Co-Author: Christina Roberts <christina@edx.org>
      Co-Author: David Baumgold <db@edx.org>
      Co-Author: Diana Huang <dkh@edx.org>
      Co-Author: Don Mitchell <dmitchell@edx.org>
      Co-Author: Julia Hansbrough <julia@edx.org>
      Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
      Co-Author: Sarina Canelake <sarina@edx.org>
      
      [LMS-2370]
      Calen Pennington committed
  26. 05 May, 2014 1 commit
    • Make course ids and usage ids opaque to LMS and Studio [partial commit] · afde40ad
      This commit makes the embargo.tests module a real python module.
      
      These keys are now objects with a limited interface, and the particular
      internal representation is managed by the data storage layer (the
      modulestore).
      
      For the LMS, there should be no outward-facing changes to the system.
      The keys are, for now, a change to internal representation only. For
      Studio, the new serialized form of the keys is used in urls, to allow
      for further migration in the future.
      
      Co-Author: Andy Armstrong <andya@edx.org>
      Co-Author: Christina Roberts <christina@edx.org>
      Co-Author: David Baumgold <db@edx.org>
      Co-Author: Diana Huang <dkh@edx.org>
      Co-Author: Don Mitchell <dmitchell@edx.org>
      Co-Author: Julia Hansbrough <julia@edx.org>
      Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
      Co-Author: Sarina Canelake <sarina@edx.org>
      
      [LMS-2370]
      Calen Pennington committed
  27. 02 May, 2014 1 commit
  28. 02 Mar, 2014 1 commit
  29. 27 Feb, 2014 4 commits