Commit Graph

5588 Commits

Author SHA1 Message Date
Matt Drayer
4c0b00f45e Merge pull request #8952 from edx/ziafazal/SOL-1045
SOL-1045: Enable certificate generation by students for self-paced courses
2015-07-20 10:22:02 -04:00
tlindaliu
0c837adfce Refactor auth.has_access to auth.user_has_role
Change name of method to clear up confusion with the access.has_access method.
2015-07-19 20:42:29 -04:00
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
Zia Fazal
bed7d80777 enable certificate generation for html certificates
Enable Student-Generated Certificates for HTML certs flow
2015-07-16 13:32:14 +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