Commit Graph

1898 Commits

Author SHA1 Message Date
Chris Rodriguez
c0bfdf5e5d Removing instances of old mechanism; tests 2015-08-28 07:50:33 -04:00
Chris Rodriguez
c9b775bda2 wip test fixes 2015-08-28 07:50:33 -04:00
Ahsan Ulhaq
b32d2205d4 Course navigation menu accessibility issue
Following have been done
1- Change the structure of the course navigation Menu HTML
2- Add some basic styling
3- Add basic JS for html rendering
4- Update tests according to new structure

AC-76
2015-08-28 07:49:31 -04:00
Phil McGachey
9e6c44911d [LTI Provider] Grade passback for non-leaf blocks.
This change allows graded assignments to be added to a campus LMS
regardless of the granularity at which the problem sits. Previously
a grade could only be returned if the usage ID for the problem itself
was specified in the LTI launch.

The code assumes that courses taking advantage of this functionality
are arranged in a hiearchy (with sections being parents to verticals,
and verticals being parents to problems). When a grading event occurs
it traverses the parent hiearchy to identify any previous graded LTI
launches for which the new scoring event should generate a grade
update. It then calculates and sends scores to each of those outcome
services.

Since grade calculation is an expensive operation, the code optimizes
the case where a problem has been added only once as a leaf unit. In
that case it is able to behave as before, just taking the grade from
the signal without having to calculate grades for the whole course.
2015-08-27 15:54:43 -04:00
Peter Fogg
38fb6eaede Add signals for user's discussion activity.
These signals are caught by the Teams app and used to update
`last_activity_at` on both teams and individual users.

TNL-2497
2015-08-26 12:07:54 -04:00
David Ormsbee
6b12969ea2 Use bulk_operations in group access tests. 2015-08-24 01:00:36 -04:00
David Ormsbee
3d1ce45187 Switch TestRecommender to use SharedModuleStoreTestCase (for performance) 2015-08-21 13:41:09 -04:00
Chris Dodge
d3c08f89ed add the ability to persist the course_key where the user answered the survey 2015-08-21 13:40:57 -04:00
Matt Drayer
ebed8cd42a Merge pull request #9339 from edx/ziafazal/SOL-493
ziafazal/SOL-493: Fetch scores via ScoresClient
2015-08-20 10:20:48 -04:00
Ahsan Ulhaq
a495847b45 Merge pull request #9373 from edx/ahsan/ECOM-2114-Add-USD-to-prices-on-track-selection-pages
Add USD labels to prices on track selection pages
2015-08-20 00:37:27 +05:00
Ahsan Ulhaq
3d62580fc2 Add USD labels to prices on track selection pages
ECOM-2114
2015-08-19 23:59:15 +05:00
Chris Dodge
c08fbd1406 only include JS when feature flag is on and the course has proctoring enabled 2015-08-19 11:07:14 -04:00
Zia Fazal
05e2cc9402 fetch StudentModule via query-chunking
using ScoresClient instead of StudentModule

using ScoresClient without FieldDataCache
2015-08-19 12:57:32 +05:00
Renzo Lucioni
8b704cc2ec Merge pull request #9351 from edx/release
Release
2015-08-17 13:17:55 -04:00
Peter Fogg
c13f296103 HTML-escape uses of course display name. 2015-08-17 12:22:10 -04:00
Brian Talbot
944f51a60b LMS: removing old and not needed edx.org MKTG iframe assets
* removing templates/styling
* removing test logic and URLs
2015-08-14 16:17:19 -04:00
Chris Dodge
6cf5516a84 Integration of edx_proctoring into the LMS 2015-08-13 19:08:50 -04:00
Sven Marnach
55ace6baa8 Make new masquerading code compatible to existing session data.
The new masquerading code introduced in PR #8775 adds a new attribute to
CourseMasquerade objects stored in the user's session.  When users who have
active masquerading configuration access instances with the new code, and
AttributeError occurs when trying to access the attribute user_name.

This fix ensures that CourseMasquerade objects receive all required attributes
when they are unpickled from the session.
2015-08-11 10:47:25 +02:00
Matt Drayer
e1ee5ac6df mattdrayer/SOL-981: Integrate edx-organizations application
* asadiqbal08/SOL-1058: Add edx-organizations to certificate web view
  * Support organization logo asset management
  * Remove organization fields from Studio certificate configuration model

* SOL-981 pull request feedback fixes
2015-08-10 10:29:45 -04:00
cahrens
2b57603436 Handle case of video in a content library with no transcripts.
This partially addresses TNL-1776
2015-08-07 13:19:12 -04:00
Ned Batchelder
ceb5655b2d Merge pull request #9171 from edx/ned/update-pylint
Update pylint and astroid, reduces pylint count by 400
2015-08-04 09:28:35 -04:00
Ned Batchelder
f54fe787c6 Remove needless 'disable=no-member' pragmas 2015-08-03 17:47:44 -04:00
John Eskew
ffc8a11789 Merge pull request #9092 from cpennington/user-state-client-tests
User state client tests
2015-08-03 12:25:05 -04:00
Linda Liu
8aa2d67b6d Merge pull request #8946 from edx/lliu/view-course-access
Add access response information into view_course_access
2015-08-01 13:55:25 -04:00
Calen Pennington
83c10331fa Add a test of submission history display 2015-08-01 08:13:25 -04:00
Calen Pennington
704ae7139a Add a subclass-implementation of the UserStateClient tests 2015-08-01 08:12:04 -04:00
tlindaliu
3b483d14bc MA-851: Add access response information into view_course_access 2015-07-31 09:30:40 -04:00
David Baumgold
c1a38a6dc7 Pull discussion underscore templates out into individual files
No need to go through Mako
2015-07-28 09:36:31 -04:00
John Eskew
756008aa9b Merge pull request #8768 from open-craft/jump_to_children_ospr
Jump to children
2015-07-27 13:42:32 -04:00
Peter Fogg
8fc5444095 Merge pull request #9020 from edx/peter-fogg/404-not-live
Redirect to dashboard from non-live courses.
2015-07-24 13:49:45 -04:00
Peter Fogg
c8ed59ac61 Redirect to dashboard from non-live courses.
TNL-2693
2015-07-24 13:05:47 -04:00
muzaffaryousaf
38ef22b8a2 Using youtube api (v3) instead of v2 to get the video duration .
TNL-2413
2015-07-24 17:03:46 +05:00
Jonathan Piacenti
c8339072dd Fixup for tests. 2015-07-21 14:39:19 +00:00
Jonathan Piacenti
405b266fa7 Addressed notes. 2015-07-21 14:39:18 +00:00
Jonathan Piacenti
a6ae44a0db Add ability to activate a child block via jump_to_id. 2015-07-21 14:39:18 +00:00
Will Daly
a725e84233 Merge pull request #8983 from edx/will/ecom-1912-and-1913
Credit progress page formatting bugfixes.
2015-07-20 14:14:53 -07:00
Will Daly
d3f58b689f Credit progress page formatting bugfixes.
* Correctly format the student's full name on the progress page.
* Add tests for progress page credit requirements display.
* Display grade percentage for credit requirement on progress page
2015-07-20 13:08:13 -07:00
Renzo Lucioni
b50c905865 Remove modulestore dependency from Enrollment API
Sets the Enrollment API free of the modulestore by replacing modulestore queries with calls to the CourseOverview model. Course deletion invalidates the corresponding CourseOverview. XCOM-462.
2015-07-20 13:41:19 -04:00
Max Rothman
80cf4d6ecb Merge pull request #8969 from edx/release-merge-test
Release merge test
2015-07-20 10:38:37 -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
Max Rothman
c97314413b Merge branch 'release' into release-merge-test
Conflicts:
	lms/djangoapps/commerce/urls.py
	lms/djangoapps/commerce/views.py
2015-07-17 17:42:03 -04:00
Adam
2735b2b5bb Revert "Decorated instructor dashboard with sudo_required." 2015-07-17 12:11:38 -04:00
Waheed Ahmed
bc052db1ee Added DjangoSudo functionality for instructor dashboard and course team page 2015-07-16 11:14:11 +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
8283c07e32 Remove superfluous-parens pylint violations
Skipped 'print' statement violations, as print() is Py3k syntax.
2015-07-13 17:33:28 -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
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
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