Commit Graph

138 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
1811f7235f Minimize the number of queries done while noop updating a user-preference 2017-04-28 12:26:41 -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
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
Sanford Student
79eaa4e2e9 update all references to instructor module 2016-10-12 10:04:32 -04:00
Brandon DeRosier
8c3224b4f0 Finish implementing CCX coach as staff 2016-10-07 11:53:32 -04: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
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
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
Amir Qayyum Khan
5839e1ca12 rearrage test code to avoid confusion 2016-07-18 14:40:32 +05:00
Amir Qayyum Khan
c0fc8669ba Only coach can access ccx dashboard 2016-07-18 14:40:32 +05:00
Amir Qayyum Khan
0d3f96d4b5 Fixed CCX coach dashboard access issues. 2016-07-08 04:24:19 +05:00
Kevin Kim
0bf8fc4b44 Converts the dates on the dashboard, sidebar navigation, and important course dates to user specified time zone. 2016-07-05 17:45:13 +00:00
Eric Fischer
f22d673980 Remove MaxScoresCache (#12878)
Performance improvement, this cache is no longer needed thanks
to block_structure caching data.

TNL-4874
2016-06-28 14:04:00 -04:00
Nimisha Asthagiri
a7a6fa77fe Grading followup
1. update query counts with more accuracy
2. don't use defaultdict in block_structure
2016-06-24 09:07:45 -04:00
Nimisha Asthagiri
d0fcabd407 CCX: Use Modulestore Field Overrides instead of User-specific Overrides 2016-06-23 20:22:32 -04:00
Calen Pennington
25c4398125 Convert edxmako to use django_crum to get the current request 2016-06-08 16:35:24 -04:00
Simon Chen
7a300483b7 ECOM-4640 make sure honor cert students also see generate cert button (#12687) 2016-06-08 14:58:31 -04:00
Simon Chen
e6137dd6af ECOM-4007 Prevent the issuing of HC certs to verified learners that haven't ID verified 2016-05-23 11:44:14 -04:00
Calen Pennington
853bfe7a36 Add a TestCase mixin for enabling caches in tests
By default, disable all caching in tests, to preserve test independence.
In order to enable caching, inherit from CacheSetupMixin, and specify
which cache configuration is needed.

[EV-32]
2016-05-04 14:51:30 -04:00
Nimisha Asthagiri
c6954902e3 Create courseware/views folder 2016-05-03 09:02:45 -04:00
Ben Patterson
1db84e79df Additional shard balancing changes for unit tests. 2016-04-28 10:09:32 -04:00
Ned Batchelder
2e1238b83e Remove unused imports 2016-04-08 11:23:05 -04:00
Nimisha Asthagiri
91f63af852 Fix sequence navigation issues for CCX courses
MA-2258
2016-04-07 18:41:10 -04:00
Amir Qayyum Khan
58bde7f301 Excluded admins, staff and coach of master course from max enrollment 2016-04-05 21:31:54 +05:00
John Eskew
35a235b348 Merge pull request #11899 from edx/jeskew/ccx_safe_templating
Safe templating changes for CCX.
2016-04-04 12:45:24 -04:00