Commit Graph

5558 Commits

Author SHA1 Message Date
Renzo Lucioni
60c818f030 Import missing settings module in tests of commerce views 2015-07-15 19:03:26 -04:00
jsa
7449f68522 Support setting email opt-in in calls to the Otto shim
XCOM-499
2015-07-15 16:22:36 -04:00
Renzo Lucioni
d4a5ad4818 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-15 16:22:29 -04:00
Adam
95dbec60bb Merge pull request #8902 from edx/things-to-tack-on-rc
Things to tack on rc
2015-07-14 09:26:22 -04:00
AlasdairSwan
51deec380e ECOM-1661 removed nav links for logged out states
Add context for navigation states
added find course to dashboard sidebar and included check for context that Will adds in PR
removed nav_course_search context due to design change so replaced with nav_hidden
Removed rwd_header.js and all references as no longer being used.

Wrapped Find Courses in dashboard sidebar in if statement
2015-07-13 15:33:00 -04:00
Adam Palay
5088ae3091 when removing field from _field_data_cache when rebinding a module to a new user, also remove it from _dirty_fields (TNL-2640) 2015-07-13 14:17:27 -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
Matt Drayer
fd7a99db0b mattdrayer/num-queries-fix: Update query value to reflect new reality 2015-07-07 16:41:15 -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
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
Giulio Gratta
84f7aef917 Default "Course About" image
Templates that display the image now check if courses specifies an image, if they don't the default image is displayed

Path set in both common.py and aws.py to allow for easy overriding in one place.

Addresses SOL-926

Some code provided by Davorin Sego
2015-07-06 10:29:12 -07:00
Akiva Leffert
f0b52c698d Merge pull request #8739 from edx/aleffert/remove-chromeless-xblock-border
Remove border from chromeless xblock
2015-07-06 11:37:29 -04:00
Daniel Friedman
3b55d88283 Implement paginated Team Topics UI
Authors:
  - Dan Friedman
  - Ben McMorran
  - Peter Fogg

TNL-1892
2015-07-06 08:45:03 -04:00
Ben McMorran
351e491c82 Add generic paging framework
Authors:
  - Daniel Friedman
  - Ben McMorran
  - Peter Fogg

TNL-1892
2015-07-06 08:45:03 -04:00
Usman Khalid
64ff890ff8 Disable ORA 1 tabs in LMS if combinedopeneded is disabled in LMS.
TNL-2305
2015-07-03 20:58:42 +05:00
Usman Khalid
fe54b085c6 Added ability to disable xblock types in LMS.
TNL-2305
2015-07-03 20:58:40 +05:00
zubair-arbi
8934818381 Merge pull request #8753 from edx/zub/bugfix/ecom-1734-change-login-redirect-url
change redirect url from '/accounts/login' to '/login'
2015-07-03 16:19:24 +05:00
Matt Drayer
b1e0ceb34f Merge pull request #8634 from edx/asadiqbal08/SOL-766
asadiqbal08/SOL-766: Share web certificate on Facebook
2015-07-03 06:47:58 -04:00
Ned Batchelder
e6e5a8d812 Convert some try/finally to addCleanup 2015-07-02 19:31:48 -04:00
Ned Batchelder
cb0624bfa1 Correct parent references in one test. 2015-07-02 19:31:48 -04:00
asadiqbal
57d5de5d14 asadiqbal08/SOL-766: Add Facebook sharing to certificate view
* updated the flags for social media sharing
* added facebook feed ui to share public url
* update the condition logic
* update the code as per suggestion and added pick new style for share buttons
* update the css class reference
* update the bok-choy test
* updated description and some text touch-ups
* moved the JS related to facebook into separate location
* js formatting
* Add trailing comma per chrisndodge
* Add wait to fix flaky test...maybe
2015-07-02 18:52:15 -04:00
Matt Drayer
289ec980a5 mattdrayer/update-num-queries-check: Modify value to reflect improved workflow(s) 2015-07-02 18:03:57 -04:00
Matt Drayer
1ca37737e9 Merge pull request #8566 from edx/ziafazal/SOL-980
ziafazal/SOL-980: Generate certificates from instructor dashboard
2015-07-02 16:07:33 -04:00
Will Daly
bfe01605b4 Merge pull request #8700 from edx/will/remove-provider-course-m2m-relation
Credit eligibility/provider refactor
2015-07-02 12:36:37 -07:00
Zia Fazal
611d16b25a ziafazal/SOL-980: Generate certificates from instructor dashboard
* added generate certificates task and bok choy tests
* added unit tests
* changes based feedback and improved acceptance test
* Change header text
* changes based on feedback on 24/6
* added task_id to api output
* fixed broken test
* Remove "Instructor" from strings, per Docs team
* Fixed flaky entrance exam test
2015-07-02 14:32:36 -04:00
Matt Drayer
4526b929b0 Merge pull request #8491 from edx/mattdrayer/fix-progress-template
mattdrayer/SOL-1018: Fixed progress template for better web certificates support
2015-07-02 13:51:49 -04:00