Commit Graph

4470 Commits

Author SHA1 Message Date
Stu Young
e8374ad944 Merge pull request #19773 from open-craft/jill/flaky-tests-email-updates
Fixes flaky tests in schedules.tests.TestCourseUpdateResolver
2019-02-08 15:39:53 -05:00
David Ormsbee
4aa6446533 Merge pull request #19385 from open-craft/pooja/implement-public-cohort
Implement public cohort for anonymous and unenrolled users
2019-02-08 13:28:02 -05:00
Jillian Vogel
6dfbf94b87 Fixes flaky tests added by https://github.com/edx/edx-platform/pull/19018
using CacheIsolationTestCase
2019-02-08 13:57:25 +10:30
Pooja Kulkarni
9ddb1cc074 Implement public cohort
This PR is based on #19284 and is part of the
series of work related to the proposal #18134.

This PR avoids the assignment of
anonymous/unenrolled users to any cohort when
course is public. Anonymous or unenrolled users
will only see content that does not have a
content group assigned.
The "View Course" link to the course outline
is shown on the course about page for a course
marked public/public outline.
It also makes course handouts available for
public courses (not for public_outline).
This PR also hides the different warnings and
messages asking the user to sign-in and enroll
in the course, when the course is marked public.
It modifies the default public_view text to
include the component display_name when
unenrolled access is not available.
2019-02-07 21:42:21 +05:30
Robert Raposa
a213104790 add user_id scope and claim for JWT cookies
The following changes are made to add LMS user_id:
* Adds user_id scope to the JWT to provide the LMS user_id.
* JWT cookies always use the user_id claim.

ARCH-379
2019-02-07 10:44:35 -05:00
Waheed Ahmed
bf6301c11e Merge pull request #19291 from edx/waheed/LEARNER-4434-discovery-support-beta-langs
Add support for beta languages
2019-02-07 13:10:27 +05:00
Taranjeet Singh
3eb9058dd2 Adds optional "unsubscribe" link and api support to let users opt out of email updates.
Scheduled emails show "unsubscribe" link if waffle switch `schedules.course_update_show_unsubscribe` is enabled, and
settings.ACE_ENABLED_POLICIES respects `bulk_email_optout`.

API endpoint allows GET/POST requests, which:

* GET asks for confirmation of opt-out
* POST accepts "unsubscribe" or "cancel", where "unsubscribe" creates the
  Optout entry, and "cancel" does nothing.
2019-02-07 11:47:10 +10:30
Calen Pennington
6d22866e78 Cache org-site lookups in the RequestCache 2019-02-06 10:11:15 -05:00
Calen Pennington
6c596f7c49 Allow courses api to return data incrementally
Prior to this commit, the course api (/api/courses/v1/courses/)
performed all the work necessary to return all courses available
to the user, and then only actually returned on page's worth of those
courses.

With this change, the api now does the work incrementally, computing
only the data needed to fetch the courses up to and including the page
being returned. This still increases approximately linearly as
the page number accessed being increases, but should be more cache-friendly.
One side effect of this is that the max_page reported by pagination
will be an overestimate (it will include pages that are removed due
to a users access restrictions).

This change also changes the sort-order of courses being returned by the
course_api. By sorting by course-id, rather than course-number, we
can sort in the database, rather than in Python, and defer loading data
from the end of the list until it is requested.

REVMI-90
2019-02-06 10:11:15 -05:00
Calen Pennington
9ff9c33f59 Add a test that shows how bad course api query counts are 2019-02-06 10:11:15 -05:00
Waheed Ahmed
d76a2463fa Add support for beta languages.
Whenever user selects a beta language on account settings page,
show a page level warning message that this language is not
fully translated along with action to revert.

LEARNER-5654
2019-02-06 15:18:04 +05:00
Dave St.Germain
bf692acea6 Merge pull request #19690 from edx/dcs/retire-perm
Refactored the retirement permission to use Django rules
2019-02-04 15:17:38 -05:00
Michael Youngstrom
3bb44a540f Upgrade pycountry for python3 2019-02-01 10:24:12 -05:00
Julia Eskew
ed239ed0fd Read client ID/secret from DOT application instead of DOP client. 2019-01-31 13:57:23 -05:00
Michael Youngstrom
e7898d153d Move to python3-saml 2019-01-30 16:35:16 -05:00
Dave St.Germain
99368e63bc Refactored the retirement permission to use Django rules 2019-01-30 10:56:02 -05:00
Jansen Kantor
6f4bbf6a01 Merge pull request #19676 from edx/jkantor/failed-cert
fail a certificate if grades are modified to failing
2019-01-29 17:07:00 -05:00
jansenk
726fb0f6f0 fail a certificate if grades are modified to failing 2019-01-29 15:57:15 -05:00
bmedx
43e1bf8e3c Use correct language code in retirement emails 2019-01-28 13:33:39 -05:00
noraiz-anwar
a0acbd616b logs to debug EDUCATOR-3965 2019-01-25 23:31:24 +05:00
Calen Pennington
805f32a357 Revert "Allow courses api to return data incrementally" 2019-01-25 12:56:57 -05:00
Calen Pennington
c9ed838991 Merge pull request #19642 from cpennington/fbe-improve-course-api-performance
Allow courses api to return data incrementally
2019-01-25 11:31:24 -05:00
Calen Pennington
a842921e1f Cache org-site lookups in the RequestCache 2019-01-25 10:30:09 -05:00
Calen Pennington
a3541d6e46 Allow courses api to return data incrementally
Prior to this commit, the course api (/api/courses/v1/courses/)
performed all the work necessary to return all courses available
to the user, and then only actually returned on page's worth of those
courses.

With this change, the api now does the work incrementally, computing
only the data needed to fetch the courses up to and including the page
being returned. This still increases approximately linearly as
the page number accessed being increases, but should be more cache-friendly.
One side effect of this is that the max_page reported by pagination
will be an overestimate (it will include pages that are removed due
to a users access restrictions).

This change also changes the sort-order of courses being returned by the
course_api. By sorting by course-id, rather than course-number, we
can sort in the database, rather than in Python, and defer loading data
from the end of the list until it is requested.

REVMI-90
2019-01-25 10:30:09 -05:00
nadeemshahzad
bc09bdf35a Move award program certificates tasks to background_process queue (OPS-3687) 2019-01-25 12:47:46 +00:00
Calen Pennington
ee75db2703 Add a test that shows how bad course api query counts are 2019-01-24 22:54:01 -05:00
Stu Young
4e1a3b05df Revert "Move award program certificates tasks to background_process queue (OPS-3687)" 2019-01-24 11:37:42 -05:00
nadeemshahzad
97dd3763d3 move program certificates tasks to background_process queue 2019-01-23 14:13:33 +00:00
Saleem Latif
46d97caa47 Consolidate recovery assistance forms 2019-01-22 15:09:11 +05:00
Ned Batchelder
48ac13e73e Merge pull request #19591 from cclauss/print_function
Use print() function in both Python 2 and Python 3
2019-01-16 17:59:11 -05:00
Ned Batchelder
1e5c753807 Fix quality violations 2019-01-16 08:44:56 -05:00
cclauss
b0c4c0c5f9 remove redundant backslashes in between brackets 2019-01-16 03:46:04 +01:00
Calen Pennington
454acb492b Merge pull request #19578 from cpennington/fbe-group-configurations
Fix Studio Group Configurations for courses with FBE Enabled
2019-01-14 14:20:25 -05:00
Brian Mesick
72fa00050a Merge pull request #19571 from open-craft/jill/dot-app-cmd
SE-614 Adds optional args to create_dot_application command
2019-01-14 14:12:39 -05:00
Calen Pennington
bc32819ce0 Fix Studio Group Configurations for courses with FBE Enabled
This prevents the Feature-Based Enrollments groups from showing
in Group Configurations unless the studio_override_enabled flag
is enabled. It also fixes a bug where FBE group configurations were
displaying usage as though they were Track-based group configurations.

REVMI-78
2019-01-14 13:16:57 -05:00
cclauss
8fca11b85c Use print() function in both Python 2 and Python 3 2019-01-13 17:16:37 +01:00
Matthew Piatetsky
e1fd793e86 Merge pull request #19560 from edx/REVMI-2
add informational banners when masquerading as user who would not have access due to start date
2019-01-10 13:48:29 -05:00
Matthew Piatetsky
5bb56fe45f add informational banners when masquerading as user who would not have access due to start date 2019-01-10 11:06:30 -05:00
Jillian Vogel
f1a65c588a Adds optional args to create_dot_application command
Allows for the creation of public applications, and the passing of the
client_id or client_secret to the command, e.g. from a configuration playbook
2019-01-10 20:18:18 +10:30
Diana Huang
15759c2b2f Merge pull request #19420 from edx/diana/remove-datadog
Remove all references to datadog from our code.
2019-01-09 09:07:22 -05:00
Saleem Latif
2c9021e480 Make sure only active AccountRecovery records are used 2019-01-09 16:33:12 +05:00
Diana Huang
6572d99e76 Remove all references to datadog from our code. 2019-01-08 15:41:24 -05:00
Jeremy Bowman
d0d6d57343 TE-2731 Upgrade to pytest-cov 2.6.1 2019-01-08 11:05:45 -05:00
Bill Filler
c253374372 Conditionalize track selection based on settings of course duration and content gating 2019-01-07 09:47:37 -05:00
Asad Iqbal
987192332a Merge pull request #19475 from edx/asadiqbal08/ENT-1359
asadiqbal08/ENT-1359 Verification by email of recovery address.
2019-01-01 15:20:57 +05:00
AsadAzam
a340fc96d5 Merge pull request #19518 from edx/asad/lms-template-reflected-xss
Clean XSS in lms template
2018-12-31 13:07:39 +05:00
Saleem Latif
eaf93d5978 Update sign in email address for continued access 2018-12-31 11:34:05 +05:00
asadazam93
25cf39daa4 Clean XSS in lms template 2018-12-29 01:48:25 +05:00
asadiqbal
e21477c224 Verification by email of recovery address. 2018-12-27 18:51:55 +05:00
DawoudSheraz
ddf00790b6 EDUCATOR-3786 Anonymous user is not associated to any cohort 2018-12-21 12:47:41 +05:00