Commit Graph

1282 Commits

Author SHA1 Message Date
Ahsan Ulhaq
04ca94eaef Account settings page should load and create student user profile
ECOM-4776
2017-04-13 11:47:38 +05:00
Andy Armstrong
da1ac4664e Implement common redirect logic for all course tabs
LEARNER-76
2017-04-12 16:05:32 -04:00
Eric Fischer
7d2dbf4b76 Waffle Utils cleanup
Turn override into a sensible default that calls both of the
for_request and in_model submethods, which are themselves still
avaiable if needed.
2017-04-11 13:31:30 -04:00
Nimisha Asthagiri
1503e5f768 Grade only engaged learners
Add a new waffle switch that allows us to assume zero grades for
learners who have no entry previously recorded, and another to
disable persisting grades for unengaged learners.

TNL-6691
2017-04-11 10:41:57 -04:00
Jeff LaJoie
fac7e288c8 Merge pull request #14800 from edx/jlajoie/TNL-6739
TNL-6739: Adds in masquerading as enrollment track user
2017-04-06 10:29:02 -04:00
Andy Armstrong
ae1903fe8c Merge pull request #14829 from edx/andya/page-query-tests
Add query count tests for old and new course pages
2017-04-06 10:23:43 -04:00
Jeff LaJoie
413bce3d72 TNL-6739: adds in masquerading as enrollment track user 2017-04-06 09:35:08 -04:00
Andy Armstrong
e7a4ed742a Add query count tests for old and new course pages 2017-04-05 21:35:34 -04:00
cahrens
dbae1e397d Add ability to set visibility by enrollment track.
TNL-6744
2017-04-05 11:05:31 -04:00
Andy Armstrong
0325425c8c Add data sharing consent redirect for more course tabs
LEARNER-394
2017-03-31 19:12:13 -04:00
Ahsan Ulhaq
9e9c99ac0a Add eligible for financial aid and sync with course discovery
ECOM-7532
2017-03-31 14:35:56 +05:00
cahrens
e5035746bf Introduce EnrollmentTrackUserPartition.
TNL-6674
2017-03-30 12:24:48 -04:00
Andy Armstrong
ec241774ba Add the staff preview bar to the new course home page
LEARNER-75
2017-03-28 21:19:36 -04:00
Robert Raposa
ac7e6bec92 Refactor to navigate directly to courseware page. 2017-03-24 13:44:37 -04:00
Andy Armstrong
435a6f5225 Make course_experience a feature 2017-03-22 13:00:38 -04:00
Diana Huang
6f5249d399 Beginning of python unit tests. 2017-03-22 13:00:38 -04:00
Nimisha Asthagiri
6a954c1e4e Merge pull request #14690 from edx/neem/fix-entrance-exam-grades
Fix grading for Entrance Exams
2017-03-17 19:04:35 -04:00
Nimisha Asthagiri
54d938cab5 Fix grading for Entrance Exams
TNL-6227
2017-03-17 17:32:36 -04:00
uzairr
d117222f7c Add timeout in request to xqueue 2017-03-17 10:23:20 +00:00
M. Rehan
3c040b93c2 Merge pull request #14704 from edx/mrehan/strip-edx-video-id
TNL-5769 – strip video id on saving the video
2017-03-17 12:56:41 +05:00
Qubad786
4a2589c7c3 strip video id on saving the video 2017-03-16 19:48:46 +05:00
muhammad-ammar
5ec5e97a0c backend changes to support hls
TNL-6541
2017-03-16 19:30:49 +05:00
Jillian Vogel
25383a603e Ensure Enterprise-integrated courses require user consent before granting access to Wiki and Discussion forum.
* User-facing links are gated; internal services are not.
* Adds view decorator data_sharing_consent_required
* Renames `get_course_specific_consent_url` to `get_enterprise_consent_url`,
  which now checks `consent_needed_for_course` before returning a consent URL.
2017-03-10 09:29:24 +10:30
Albert St. Aubin
7c7c27183f changes header levels for a11y
TNL-6347
2017-03-08 11:45:45 -05:00
Qubad786
f064e991bf duplicate video id in basic tab 2017-03-07 15:33:33 +05:00
Eric Fischer
50371ee59a Allow masquerade on progress page 2017-03-06 16:53:26 -05:00
Hasnain
d6d2b2d50f Add program marketing view
This change adds the URL configuration and Django view required
to implement a program marketing page. It is left to theme builders
to implement a template that fulfills their own UX requirements.

WL-766
2017-03-02 14:38:01 -05:00
Andy Armstrong
f6876ce199 Merge pull request #13937 from edx/andya/use-ui-blocks
[WIP] Use web fragments for discussion and static tabs
2017-03-01 00:36:48 -05:00
Andy Armstrong
248558f1d4 Render Discussion tab using web fragments 2017-02-28 23:39:39 -05:00
David Ormsbee
ca1f76cedb Move more tests to use bulk_operations. 2017-02-24 15:21:45 -05:00
David Ormsbee
2051c90924 Test Speedup: Isolate Modulestore Signals
There are a number of Django Signals that are on the modulestore's
SignalHandler class, such as SignalHandler.course_published. These
signals can trigger very expensive processes to occur, such as course
overview or block structures generation. Most of the time, the test
author doesn't care about these side-effects.

This commit does a few things:

* Converts the signals on SignalHandler to be instances of a new
  SwitchedSignal class, that allows signal sending to be disabled.

* Creates a SignalIsolationMixin helper similar in spirit to the
  CacheIsolationMixin, and adds it to the ModuleStoreIsolationMixin
  (and thus to ModuleStoreTestCase and SharedModuleStoreTestCase).

* Converts our various tests to use this new mechanism. In some cases,
  this means adjusting query counts downwards because they no longer
  have to account for publishing listener actions.

Modulestore generated signals are now muted by default during test runs.
Calls to send() them will result in no-ops. You can choose to enable
specific signals for a given subclass of ModuleStoreTestCase or
SharedModuleStoreTestCase by specifying an ENABLED_SIGNALS class
attribute, like the following example:

    from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase

    class MyPublishTestCase(ModuleStoreTestCase):
        ENABLED_SIGNALS = ['course_published', 'pre_publish']

You should take great care when disabling signals outside of a
ModuleStoreTestCase or SharedModuleStoreTestCase, since they can leak
out into other tests. Be sure to always clean up, and never disable
signals outside of testing. Because signals are essentially process
globals, it can have a lot of unpleasant side-effects if we start
mucking around with them during live requests.

Overall, this change has cut the total test execution time for
edx-platform by a bit over a third, though we still spend a lot in
pre-test setup during our test builds.

[PERF-413]
2017-02-23 10:31:16 -05:00
Albert St. Aubin
13ee3056ff update session cookie with the course id 2017-02-16 14:41:37 -05:00
Albert (AJ) St. Aubin
c1e2d39b38 Merge pull request #14444 from edx/aj/TNL-6381_upsell_msg
Aj/tnl 6381 upsell msg
2017-02-10 07:25:23 -05:00
Albert St. Aubin
97d7633774 Added upgrade upsell to course info banner and url parameter
TNL-6381
2017-02-09 20:21:39 -05:00
Jesse Shapiro
9a573de533 Add consent check to course access prerequisites; add utility functions to provide interface to course-specific consent in Enterprise app 2017-02-09 13:49:57 -05:00
David Ormsbee
5ef1e08050 Disable student state writes for crawlers.
When crawlers like edX-downloader make requests on courseware, they are
often concurrently loading many units in the same sequence. This causes
contention for the rows in courseware_studentmodule that store the
student's state for various XBlocks/XModules, most notably for the
sequence, chapter, and course -- all of which record and update user
position information when loaded.

It would be nice if we could actually remove these writes altogether
and come up with a cleaner way of keeping track of the user's position.
In general, GETs should be side-effect free. However, any such change
would break backwards compatibility, and would require close
coordination with research teams to make sure they weren't negatively
affected.

This commit identifies crawlers by user agent (CrawlersConfig model),
and blocks student state writes if a crawler is detected. FieldDataCache
writes simply become no-ops. It doesn't actually alter the rendering
of the courseware in any way -- the main impact is that the blocks
won't record your most recent position, which is meaningless for
crawlers anyway.

This can also be used as a building block for other policy we want to
define around crawlers. We just have to be mindful that this only works
with "nice" crawlers who are honest in their user agents, and that
significantly more sophisticated (and costly) measures would be
necessary to prevent crawlers that try to be even trivially sneaky.

[PERF-403]
2017-01-26 09:36:53 -05:00
Nimisha Asthagiri
5a9179bf00 Update has_database_updated_with_new_score to handle all block types
TNL-6331
2017-01-23 15:50:16 -05:00
Christina Roberts
b9c3848449 Merge pull request #14337 from edx/christina/tnl-6050
Allow "masquerading as a group member" in Preview
2017-01-19 15:49:02 -05:00
cahrens
a6776f6973 Always check group access when masquerading.
TNL-6050
2017-01-19 14:47:10 -05:00
Eric Fischer
507e621ccc Revert "Merge pull request #14324 from edx/efischer/revertins"
This reverts commit c7d2d601b8, reversing
changes made to fb2173f43e.
2017-01-18 10:56:13 -05:00
Ari Rizzitano
54a48a3227 [courseware] generate sequence-specific titles server-side (AC-695)
[courseware] generate sequence-specific titles server-side (AC-695)

[courseware] generate sequence-specific titles server-side (AC-695)

case for empty subsections [AC-695]

move title logic into courseware context method [AC-695]

pep8

coffeescript -> js

js mistake

jslint

refactor sequence title generation slightly

missed a line

line too long

python is not javascript

ugh js

ugh js part 2
2017-01-14 17:55:09 -05:00
alisan617
88e10e0ee8 sequence navs keyboard support and test update 2017-01-13 14:07:10 -05:00
Eric Fischer
0b620ebbc1 Revert "Merge pull request #14225 from edx/efischer/tnl-6108"
This reverts commit 8b8cf5f9e0, reversing
changes made to 2716ffbf8e.
2017-01-12 13:50:05 -05:00
Eric Fischer
6845c64977 Hide after course end
Hijacks the existing hide_after_due field to be repected as "hide after course
end" for self-paced courses. Includes tests.

TNL-6108
2017-01-12 09:12:54 -05:00
Nimisha Asthagiri
99e6d53939 Preload definitions when collecting block structures 2016-12-29 08:51:26 -05:00
Jillian Vogel
eef4539355 Merge pull request #14153 from open-craft/jill/fix-insights-ccx-staff
Checks access using the CCX course key instead of the base course key
2016-12-23 08:20:24 +10:30
Dmitry Viskov
fc0577d081 Hide bookmarks link in the LTI mode 2016-12-22 09:56:33 -05:00
Jillian Vogel
8493ff6028 Checks access using the CCX course key,
instead of using the base course key (which does not contain the CCX info).
This removes the need for special checking of CCXKey/CCXLocator types, and just
treats them like normal CourseKeys.

This fix allows users with a Staff role on a CCX course to view CCX courses in Insights.
2016-12-22 08:37:49 +10:30
asadazam93
01f3233a50 Fix InvalidKeyError on render xblock 2016-12-20 13:03:50 +05:00
Eric Fischer
5a98a90eba Use timestamps in _has_database_updated_with_new_score check
Also fixes issue where ORA grades were never updated, by including
them in this check.

TNL-5994
TNL-5995
2016-12-09 13:46:34 -05:00