Commit Graph

5585 Commits

Author SHA1 Message Date
tlindaliu
e0840d2d43 MA-849: Change has_access return type
New classes for the return type, and changes to the has_access function and tests to make them compatible.
2015-07-19 20:42:29 -04:00
Adam
2735b2b5bb Revert "Decorated instructor dashboard with sudo_required." 2015-07-17 12:11:38 -04:00
srpearce
b12d3f6303 Merge pull request #8773 from edx/sylvia/docs/DOC-2102
Sylvia/docs/doc 2102
2015-07-17 15:42:59 -04:00
Jesse Zoldak
c2b4cf210f Skip test that had a hardcoded date expectation MA-1038 2015-07-17 13:05:58 -04:00
Sylvia Pearce
eea3b31105 Delete white spaces that are causing test failures 2015-07-17 16:12:53 +00:00
Ben McMorran
2cf3390ba8 Merge pull request #8837 from edx/benmcmorran/discussion-caching-3
TNL-2389 Use discussion id map cache for thread creation and update
2015-07-17 11:33:02 -04:00
Awais Jibran
2d19eafa7c Merge pull request #7404 from edx/waheed/plat407-decorate-instructor-dashboard-with-sudo-required
Decorated instructor dashboard with sudo_required.
2015-07-16 21:12:43 +05:00
aamir-khan
d5dda6470e ECOM-1816: added the provider detail on the receipt page. 2015-07-16 18:25:03 +05:00
Waheed Ahmed
bc052db1ee Added DjangoSudo functionality for instructor dashboard and course team page 2015-07-16 11:14:11 +05:00
Sarina Canelake
bb7ba752bd Merge pull request #7322 from edx/sarina/remove-old-analytics-dashboard
Remove everything gated by ENABLE_INSTRUCTOR_ANALYTICS flag AN-4583
2015-07-15 16:36:28 -04:00
Sylvia Pearce
d2b6ac84d3 Reorganize and update API documentation 2015-07-15 14:31:02 -04:00
Zia Fazal
b5c32ec4f1 ziafazal/SOL-980: Fix error while generating certificates 2015-07-15 12:21:50 -04:00
Sarina Canelake
376fe0a57c Remove outdated Analytics scripts, code, and css 2015-07-15 11:11:10 -04:00
Sarina Canelake
4f2be41a48 Add messaging about Insights to Analytics instructor tab 2015-07-15 11:11:09 -04:00
Ben McMorran
d36eb83a03 Add query count tests 2015-07-15 14:56:04 +00:00
jsa
afa77f86bf Support setting email opt-in in calls to the Otto shim
XCOM-499
2015-07-14 11:28:59 -04:00
Marco Morales
493200734e Merge pull request #8296 from edx/marco/find-courses-page/styling-changes
Styling improvements to openedX search through Find Courses page
2015-07-14 08:14:35 -04:00
Matt Drayer
d57fd0e47c Merge pull request #8847 from edx/ziafazal/SOL-1021
ziafazal/SOL-1021: Create Analytics events for certificate actions
2015-07-14 07:58:55 -04:00
Zia Fazal
57f1dc92b3 ziafazal/SOL-1021: Capture additional certificate configuration events
* Changed certificate_id to configuration_id
* Fix for acceptance test faiiure
* Add waits to bok choy tests

fix for flaky test
2015-07-14 11:12:09 +05:00
Sven Marnach
3d7246ecc8 Allow masquerading as a specific user different from the logged in user. 2015-07-13 18:55:45 -07:00
Sarina Canelake
49f78b4742 Remove logging-not-lazy Pylint violations 2015-07-13 17:34:54 -04:00
Sarina Canelake
39d3537410 Pylint logging-format-interpolation: Convert logging calls to use %s formatting 2015-07-13 17:33:29 -04:00
Sarina Canelake
8283c07e32 Remove superfluous-parens pylint violations
Skipped 'print' statement violations, as print() is Py3k syntax.
2015-07-13 17:33:28 -04:00
Sarina Canelake
22bbdacee9 Convert Meta classes to new-style classes 2015-07-13 17:33:26 -04:00
Sarina Canelake
ba8fd1c21d Eliminate instances of unused-import Pylint violation 2015-07-13 17:33:25 -04:00
Renzo Lucioni
4a1e617289 Merge pull request #8901 from edx/renzo/version-baskets-api-url
Mark basket creation and order retrieval endpoints as v0
2015-07-13 17:12:40 -04:00
Ben McMorran
a119b723fd TNL-2389 Use discussion id map cache for thread creation and update 2015-07-13 20:56:50 +00:00
Ben McMorran
8eb0653a5f Merge pull request #8708 from edx/benmcmorran/discussion-caching-2
TNL-2458 Cache discussion id mapping on course publish
2015-07-13 16:52:12 -04:00
Renzo Lucioni
609e6ca277 Mark basket creation and order retrieval endpoints as v0
These endpoints are currently for internal use only, but should be versioned nonetheless; Drupal will begin using the basket creation endpoint soon. No functionality has been changed. XCOM-494.
2015-07-13 16:27:58 -04:00
Ben McMorran
ccf20e52b1 TNL-2458 Cache discussion id mapping on course publish 2015-07-13 20:12:52 +00:00
Akiva Leffert
6084f4df27 Make render_xblock return a 404 if access check fails
The mobile clients need the request to fail if they don't have
permisssions so that they know to refresh a session token.

JIRA: https://openedx.atlassian.net/browse/MA-1003
2015-07-13 15:56:58 -04:00
Renzo Lucioni
3db2b5ff88 Commerce baskets API supports cross-domain session and OAuth2 authentication
Required in order to support requests from Drupal and mobile clients. XCOM-493.
2015-07-10 15:42:49 -04:00
Clinton Blackburn
b87c525109 Merge pull request #8866 from edx/clintonb/commerce-api-expiration-date
Updated Commerce API to return CourseMode expiration date
2015-07-09 17:00:03 -04:00
Tyler Nickerson
825d99deee Merge pull request #8865 from edx/nickersoft/jwt-security
XCOM-281: LMS now passes JWT issuer and expiration date to ecommerce API client
2015-07-09 16:43:07 -04:00
Clinton Blackburn
7d91361f32 Updated Commerce API to return CourseMode expiration date
XCOM-477
2015-07-09 15:30:48 -04:00
Nickersoft
2d13e9e886 LMS now passes JWT issuer and expiration date to ecommerce API client 2015-07-09 15:06:54 -04:00
Sarina Canelake
07a3d74999 Merge pull request #8844 from ubc/xcompass/pu/fix-test_course_about_in_cart
Fix failed test_course_about_in_cart
2015-07-09 14:01:52 -04:00
zubair-arbi
1574650f28 Merge pull request #8845 from edx/tasawer/story/ecom-1651-on-demand-cert-download-update
Update copy for On Demand Cert Download
2015-07-09 21:08:47 +05:00
David Ormsbee
472de1a5de Merge pull request #7288 from edx/ormsbee/grade_query_caching
Grading Performance Work
2015-07-09 12:07:52 -04:00
David Ormsbee
79de77cf95 Optimize grading/progress page to reduce database queries (cache max scores).
The progress page did a number of things that make performance terrible for
courses with large numbers of problems, particularly if those problems are
customresponse CapaModule problems that need to be executed via codejail.

The grading code takes pains to not instantiate student state and execute the
problem code. If a student has answered the question, the max score is stored
in StudentModule. However, if the student hasn't attempted the question yet, we
have to run the problem code just to call .max_score() on it. This is necessary
in grade() if the student has answered other problems in the assignment (so we
can know what to divide by). This is always necessary to know in
progress_summary() because we list out every problem there. Code execution can
be especially slow if the problems need to invoke codejail.

To address this, we create a MaxScoresCache that will cache the max raw score
possible for every problem. We select the cache keys so that it will
automatically become invalidated when a new version of the course is published.

The fundamental assumption here is that a problem cannot have two different
max score values for two unscored students. A problem *can* score two students
differently such that they have different max scores. So Carlos can have 2/3 on
a problem, while Lyla gets 3/4. But if neither Carlos nor Lyla has ever
interacted with the problem (i.e. they're just seeing it on their progress
page), they must both see 0/4 -- it cannot be the case that Carlos sees 0/3 and
Lyla sees 0/4.

We used to load all student state into two separate FieldDataCache instances,
after which we do a bunch of individual queries for scored items. Part of this
split-up was done because of locking problems, but I think we might have gotten
overzealous with our manual transaction hammer.

In this commit, we consolidate all state access in grade() and progress()
to use one shared FieldDataCache. We also use a filter so that we only pull
back StudentModule state for things that might possibly affect the grade --
items that either have scores or have children.

Because some older XModules do work in their __init__() methods (like Video),
instantiating them takes time, particularly on large courses. This commit also
changes the code that fetches the grading_context to filter out children that
can't possibly affect the grade.

Finally, we introduce a ScoresClient that also tries to fetch score
information all at once, instead of in separate queries. Technically, we are
fetching this information redundantly, but that's because the state and score
interfaces are being teased apart as we move forward. Still, this only
amounts to one extra SQL query, and has very little impact on performance
overall.

Much thanks to @adampalay -- his hackathon work in #7168 formed the basis of
this.

https://openedx.atlassian.net/browse/CSM-17
2015-07-09 10:03:58 -04:00
Tasawer
c964b5cb5a Update copy for On Demand Cert Download
ECOM-1651
2015-07-09 15:45:40 +05:00
Pan Luo
2b29ad2066 Fix failed test_course_about_in_cart
This test failed since d240785 on devstack.
The self.request_factory.get() just return a request object, which is
being passed to views.course_about() directly without being processed by
edxmako.middleware. The REQUEST_CONTEXT.request in
d240785b17/common/djangoapps/edxmako/middleware.py (L39)
is None, instead of request object, which contains the LANGUAGE_CODE and
other stuff used by the view.

Also cleaned up the use of MakoMiddleware. Using the method in
edxmako.tests module.
2015-07-08 23:46:51 -07:00
Clinton Blackburn
cd60dd5606 Merge pull request #8771 from edx/clintonb/currency-comparison-fix
Comparing currencies with same case
2015-07-09 01:45:39 -04:00
Alison Hodges
747c6b7413 Merge pull request #8716 from edx/ahodges/staff_labeling
Ahodges/staff labeling
2015-07-08 17:34:29 -04:00
Matt Drayer
b0c1e962c7 rc/2015-07-08-mattdrayer: Hide button behind feature flag 2015-07-08 16:55:38 -04:00
Clinton Blackburn
b3437b7278 Corrected path to Commerce API
XCOM-312
2015-07-08 16:55:38 -04:00
Kyle McCormick
afa77db944 Merge pull request #8642 from edx/mekkz/course-overviews-dashboard
Update LMS student dashboard to use CourseOverview
2015-07-08 13:06:36 -04:00
Kyle McCormick
1dfe9ed9e8 MA-779 Update student dashboard to use CourseOverview 2015-07-08 12:05:38 -04:00
Kyle McCormick
5b630a7704 MA-779 Make has_access work on CourseOverview objects 2015-07-08 12:05:38 -04:00
Phil McGachey
99fbf4d6b2 [LTI Provider] Refactoring to remove the lti_run method
This change is a follow-up to the chages in PR 8347, which removed the
edX login page from the workflow for a new user. Where previously we
redirected a user to the login page, PR 8347 instead creates a new user
transparently and logs them in.

The initial reason for splitting the LTI view between lti_launch and
lti_run was so that there was a target for the GET request that
followed the login page. Since we no longer use the login page, we
no longer need the second view. We also don't need to store the LTI
parameters in the session any more, since they are not persisting
between calls. This simplifies the view logic significantly.

The other change here is to fetch the LtiConsumer object early in
the view, and pass it to the SignatureValidator and scoring system.
When the views were split, this required multiple DB hits for the
same data; we're now only fetching it once.
2015-07-08 09:45:24 -04:00