Commit Graph

11628 Commits

Author SHA1 Message Date
asadiqbal
68ee36e84e update the code as per suggestions 2015-07-13 13:54:01 +05:00
asadiqbal
1782f72555 Students can share their certificate view on Twitter 2015-07-13 12:40:45 +05: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
Chris
e51a54a93b Merge pull request #8797 from edx/clrux/ux-2323-ora-focus
ORA2: Focus and outline styles
2015-07-09 11:44:22 -04:00
Chris Rodriguez
5d086dab62 ORA2: Focus and outline styles 2015-07-09 19:59:28 +05: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
Ahsan Ulhaq
c94f043c2b Credit Payment - Dashboard States
ECOM-1578
2015-07-09 13:33:31 +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
Brandon DeRosier
2bfbda3c1e Revert "edX Course/Library Import/Export API"
This reverts commit c94abd2705.
2015-07-08 16:55:38 -04:00
Brandon DeRosier
783e83deb0 Revert "Add feature flag for Import/Export API in LMS"
This reverts commit 85b3bfe4f6.
2015-07-08 16:55:38 -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
Awais
db7dea118c ECOM-1829 Removing the regen link. 2015-07-08 16:55:37 -04:00
Will Daly
9056052b09 Fix a small typo for credit requirements on the progress page. 2015-07-08 11:56:43 -07:00
Braden MacDonald
d07a2798a1 Merge pull request #8815 from open-craft/hinted-login-fix
Fix hinted login view to be compatible with secondary providers.
2015-07-08 10:57:08 -07:00
Ben McMorran
9e5290c1a7 Merge pull request #8822 from edx/benmcmorran/taiwan-fix
TNL-2665 Prevent Taiwan from being translated
2015-07-08 13:26:17 -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
Ben McMorran
6bd5eec18d TNL-2665 Prevent Taiwan from being translated 2015-07-08 14:12:56 +00:00
Ben Patterson
cc7647571c Revert "Update copy for On Demand Cert Download" 2015-07-08 07:59:39 -04:00
tasawernawaz
c64d58f234 Merge pull request #8818 from edx/tasawer/story/ecom-1651-on-demand-cert-download
Update copy for On Demand Cert Download
2015-07-08 20:18:08 +05: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
Tasawer
028ddefe4e Update copy for On Demand Cert Download
ECOM-1651
2015-07-08 16:01:10 +05:00
Aamir
9f0b5ed2cd Merge pull request #8720 from edx/ECOM-1601-credit-help-link
ECOM-1601: Added the help link of credit info
2015-07-08 11:55:11 +05:00
chrisndodge
8cde240dd8 Merge pull request #8805 from edx/cdodge/remove-profile-panel
Remove the DjDT profiling panel from devstack.py. It appears to cause…
2015-07-07 22:38:15 -04:00
Braden MacDonald
f4c8d8fa86 Fix hinted login view to be compatible with secondary providers. 2015-07-07 16:42:12 -07:00
Matt Drayer
fd7a99db0b mattdrayer/num-queries-fix: Update query value to reflect new reality 2015-07-07 16:41:15 -04:00
Chris
bd817bb41e Merge pull request #8784 from edx/clrux/ux-2337-a11y-calculator-contrast
Fixing aria values and contrast for accessibility
2015-07-07 16:07:14 -04:00
Matt Drayer
c25e37ea93 Merge pull request #8734 from edx/ziafazal/SOL-1011
ziafazal:SOL-1011: Certificate URL should use 'download_url' field and not 'verify_uuid'
2015-07-07 15:40:34 -04:00
Chris Dodge
8c6939d521 Remove the DjDT profiling panel from devstack.py. It appears to cause horrendeous performance issues, while offering very little benefit. 2015-07-07 13:58:38 -04:00
Chris Rodriguez
3309581a36 Adding uniqueness to some elements 2015-07-07 13:54:49 -04:00
aamir-khan
935da3a12c ECOM-1601: Added the help link of credit info 2015-07-07 09:58:48 +00:00
Sarina Canelake
b26f2af585 Revert "Adding entries of Call Stack Manager in StudentModule and StudentModuleHistory" 2015-07-07 05:45:23 -04:00
Clinton Blackburn
301a874c5c Enforcing lowercase currency for CourseMode
- CourseMode.save() always lowercases the currency value
- CourseMode currency comparisons have been updated to be case-insensitive
2015-07-06 23:38:25 -04:00
Clinton Blackburn
96ee90d567 Merge pull request #8772 from edx/clintonb/refund-notification
Creating Zendesk refund notifications via API
2015-07-06 20:26:01 -04:00
Davorin Šego
ad5a98e40a Merge pull request #8282 from Stanford-Online/giulio/default-course-about-images
Default "Course About" image
2015-07-07 00:24:54 +02:00
Clinton Blackburn
40282316d0 Creating Zendesk refund notifications via API
Refund notifications are now created using the Zendesk API. This ensures the correct requester information is set for the ticket, and allows for tagging of tickets.

XCOM-451
2015-07-06 17:36:14 -04:00
Matt Drayer
a8f909fe77 Merge pull request #8659 from edx/ziafazal/SOL-1006
ziafazal/SOL-1006: Disable course 'start date' for inactive web-enabled certificates
2015-07-06 16:45:24 -04:00
utkjad
10a3863832 Enable CallStackManager on StudentModule and StudentModuleHistory to capture any use outside of DjangoXBlockUserStateClient 2015-07-06 18:11:05 +00:00