Commit Graph

188 Commits

Author SHA1 Message Date
Andy Armstrong
2167584e5e Unify the home and course tabs
LEARNER-609
2017-05-01 17:22:28 -04:00
Calen Pennington
3deb3a3c1b Merge pull request #14977 from cpennington/cale/fix-learner-542
Cale/fix learner 542
2017-05-01 12:18:03 -04:00
Calen Pennington
1811f7235f Minimize the number of queries done while noop updating a user-preference 2017-04-28 12:26:41 -04:00
Nimisha Asthagiri
379a2c181b Refactor Grade Report in prep for parallelization. 2017-04-27 08:33:01 -04:00
Nimisha Asthagiri
1503e5f768 Grade only engaged learners
Add a new waffle switch that allows us to assume zero grades for
learners who have no entry previously recorded, and another to
disable persisting grades for unengaged learners.

TNL-6691
2017-04-11 10:41:57 -04:00
cahrens
e5035746bf Introduce EnrollmentTrackUserPartition.
TNL-6674
2017-03-30 12:24:48 -04:00
Diana Huang
6f5249d399 Beginning of python unit tests. 2017-03-22 13:00:38 -04:00
David Ormsbee
2051c90924 Test Speedup: Isolate Modulestore Signals
There are a number of Django Signals that are on the modulestore's
SignalHandler class, such as SignalHandler.course_published. These
signals can trigger very expensive processes to occur, such as course
overview or block structures generation. Most of the time, the test
author doesn't care about these side-effects.

This commit does a few things:

* Converts the signals on SignalHandler to be instances of a new
  SwitchedSignal class, that allows signal sending to be disabled.

* Creates a SignalIsolationMixin helper similar in spirit to the
  CacheIsolationMixin, and adds it to the ModuleStoreIsolationMixin
  (and thus to ModuleStoreTestCase and SharedModuleStoreTestCase).

* Converts our various tests to use this new mechanism. In some cases,
  this means adjusting query counts downwards because they no longer
  have to account for publishing listener actions.

Modulestore generated signals are now muted by default during test runs.
Calls to send() them will result in no-ops. You can choose to enable
specific signals for a given subclass of ModuleStoreTestCase or
SharedModuleStoreTestCase by specifying an ENABLED_SIGNALS class
attribute, like the following example:

    from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase

    class MyPublishTestCase(ModuleStoreTestCase):
        ENABLED_SIGNALS = ['course_published', 'pre_publish']

You should take great care when disabling signals outside of a
ModuleStoreTestCase or SharedModuleStoreTestCase, since they can leak
out into other tests. Be sure to always clean up, and never disable
signals outside of testing. Because signals are essentially process
globals, it can have a lot of unpleasant side-effects if we start
mucking around with them during live requests.

Overall, this change has cut the total test execution time for
edx-platform by a bit over a third, though we still spend a lot in
pre-test setup during our test builds.

[PERF-413]
2017-02-23 10:31:16 -05:00
Jesse Shapiro
9a573de533 Add consent check to course access prerequisites; add utility functions to provide interface to course-specific consent in Enterprise app 2017-02-09 13:49:57 -05:00
Gregory Martin
1b2fbbd61d delete datetext functions, implement dateutils 2017-01-03 10:18:26 -05:00
Calen Pennington
47e21ca5b0 Revert "Merge pull request #14078 from edx/yro_remove-datetimetext-functions"
This reverts commit 8c0098812d, reversing
changes made to 5b6e2dd5ee.
2016-12-22 09:29:33 -05:00
Gregory Martin
b0bf19a741 delete datetext functions, implement dateutils 2016-12-20 11:10:06 -05:00
asadiqbal
99f73dfbb3 ENT-32 Show enterprise customer branding on Logistration.
nit: css
2016-12-20 00:10:21 +05:00
Nimisha Asthagiri
aca69f78f2 Update Subsection Grade Report to differentiate Not Attempted and 0
TNL-5990
2016-11-30 12:36:26 -05:00
Nimisha Asthagiri
e87388e24c Grades cleanup before updating grade report
Remove deprecated SingleSectionGrader.  TNL-5987
Remove display_name and module_id from Scores objects
Update CourseGradeFactory.__init__ to not be user-specific
Update some callers to use CourseGrade class instead of "summary" dict
Remove no longer needed course_grades.py module.
Renamed django signal from GRADES_UPDATED to COURSE_GRADE_CHANGED
2016-11-30 12:36:25 -05:00
Gregory Martin
f0cd29f02a Revert "Merge pull request #13915 from edx/revert-13794-yro_implement-dateutil"
This reverts commit d59ab18b27, reversing
changes made to 0ebab35e89.
2016-11-07 17:04:13 -05:00
Jesse Zoldak
ec880138d2 Revert "Implement DateUtils in LMS" 2016-11-04 07:50:26 -04:00
Gregory Martin
3fd16eb6be Implement DateUtils in LMS 2016-11-03 10:06:10 -04:00
Sanford Student
a1d5ea905d Persistent Course Grades Glue Layer
Initial commit

TNL-5484
2016-10-27 14:56:45 -04:00
Nimisha Asthagiri
4a20370f37 Update CourseGradeFactory.create to be read_only by default
TNL-5835
2016-10-25 20:49:43 -04:00
Jeremy Bowman
c8b36a6ac1 Merge pull request #13161 from mitocw/fix/aq/support_django_oauth_toolkit
Fixed authentication classes to support Django OAUTH Toolkit
2016-10-19 10:00:15 -04:00
Nimisha Asthagiri
ba9ef89e8d Fix CCX migration to be resilient to course-not-found 2016-10-18 13:55:25 -04:00
Amir Qayyum Khan
f09445ed18 Added more tests 2016-10-18 16:20:57 +05:00
Amir Qayyum Khan
164d324449 Refactor tests 2016-10-18 16:20:57 +05:00
Amir Qayyum Khan
25d8085b79 Fixed authentication classes to support Django OAUTH Toolkit 2016-10-18 16:20:57 +05:00
Sanford Student
79eaa4e2e9 update all references to instructor module 2016-10-12 10:04:32 -04:00
Brandon DeRosier
6e23a2ca95 Merge pull request #13196 from open-craft/haikuginger/change-coaches-to-staff
Change CCX coaches to have staff role on CCX courses.
2016-10-07 18:29:14 -04:00
Brandon DeRosier
8c3224b4f0 Finish implementing CCX coach as staff 2016-10-07 11:53:32 -04:00
Jesse Shapiro
8533fd9734 Adding change to staff role for new users and draft migration 2016-10-07 11:52:59 -04:00
John Eskew
3614eb2800 Move xmodule_django app to openedx.core.djangoapps 2016-10-06 14:50:40 -04:00
Jesse Shapiro
4360c50d6f Merge pull request #13252 from felipevolpone/master
Disable the "View Unit in Studio" button in CCX courses
2016-09-26 11:55:57 -04:00
Felipe Volpone
14f1fdf3c9 Disabling the "View Unit in Studio" button to CCX courses 2016-09-22 00:45:18 -03:00
Eric Fischer
fd71afe94f Make Robust Grades Robust Again
As part of the Robust Grades rollout, we expect to see some DatabaseErrors in
various methods that write to the database. Since the success of this write
operation is not needed for the end-user, we just log and swallow the error.

In the future, we'll also enqueue an async task to finish the write operation
that failed.
2016-09-14 12:05:59 -04:00
Nimisha Asthagiri
232d99d06d Persisted grades optimization - update query counts in tests 2016-09-14 11:44:54 -04:00
Nimisha Asthagiri
cca19c321e Merge pull request #13442 from edx/tnl/enrollment_queries_cache
Cache Enrollment state for (user, course) in request cache
2016-09-12 16:46:36 -04:00
Nimisha Asthagiri
5822919549 Cache Enrollment state for (user, course) in request cache. 2016-09-12 15:56:03 -04:00
Nimisha Asthagiri
31409940ad Merge pull request #13433 from edx/tnl/enable-persistent-grades-in-tests
Enable Persistent Grades in unit tests
2016-09-12 13:46:51 -04:00
Matjaz Gregoric
8dc84bec3a Enable discussions on CCX courses.
Discussion is restricted to the CCX course (there is no sharing of
discussions with the parent course or other CCX instances).
2016-09-12 09:51:05 +02:00
Nimisha Asthagiri
805bf28748 Disable persistent-grades for tests failing query counts, until TNL-5458 2016-09-11 12:32:43 -04:00
Sanford Student
d54a784a43 creating django admin settings for subsection grades 2016-09-02 09:32:33 -04:00
Eric Fischer
22046d4067 Use PersistentSubsectionGrade in grades application
Hooks the pre-existing grades code into our new PersistentSubsectionGrade data
model. Includes test updates, and some minor changes to the data model that
were discovered in testing.
2016-08-22 09:47:37 -04:00
Awais Jibran
4bc5ded768 Make studio case-insensitive for course keys for creating courses.
ECOM-4890
2016-08-10 14:34:35 +05:00
Calen Pennington
8582da4a97 Merge pull request #12286 from cpennington/shards-as-valued-attributes
Shards as valued attributes
2016-08-04 11:13:32 -04:00
Calen Pennington
bc20a37c2b Simplify how shards are selected in CI 2016-08-03 16:23:02 -04:00
Nimisha Asthagiri
be5940e6f4 Robust Grades refactor
Adds ENABLE_SUBSECTION_GRADES_SAVED feature flag to both lms and cms. Also
installs the wiring that will allow robust grades to be used for courses
that enable it. This functionality is still gated by the feature flag
and should not be used until the remaining robust grades work is finished.
2016-08-03 15:47:16 -04:00
Ned Batchelder
8b1978ba6c Fix unused-import errors 2016-08-03 12:44:41 -04:00
Amir Qayyum Khan
34034aa6f5 Made ccx id unicode in app 2016-07-29 19:37:46 +05:00
Amir Qayyum Khan
d5fcb609e7 Fixed progress page update on save ccx 2016-07-29 18:11:42 +05:00
Christina Roberts
0438878ab9 Merge pull request #13069 from edx/christina/cache-disable-state
Use request cache for disabled_xblock_types
2016-07-25 17:20:49 -04:00
cahrens
d061b8ddbe Use request_cache for storing disabled xblock names.
TNL-5002
2016-07-25 16:17:30 -04:00