Commit Graph

3988 Commits

Author SHA1 Message Date
Régis Behmo
98a13d6a7e Remove deprecated toggle_status annotation
This annotation is deprecated since code-annotations==0.7.0
2020-09-16 15:19:15 +02:00
Régis Behmo
d1f9e769d0 Simplify the toggle_use_case annotation
Since code-annotations==0.7.0, incremental_release, launch_date,
monitored_rollout, graceful_degradation, beta_testing are all considered
as "temporary" use cases.
2020-09-16 15:16:13 +02:00
Régis Behmo
ab0e21455a Get rid of the toggle_category annotation, now deprecated
Since code-annotations==0.7.0, this annotation is not used anymore.
2020-09-16 15:16:13 +02:00
Régis Behmo
0c3bc12582 Fix deprecated toggle annoation format 2020-09-16 15:16:13 +02:00
Régis Behmo
7dc460d50a Wrap toggle annotation lines with multiline comments
This takes advantage of the new multiline annotation format with
single-line comment prefix, from code-annotations.
2020-09-16 15:16:12 +02:00
Régis Behmo
39a3770a6f Document openedx/core/djangoapps/video_pipeline feature toggles 2020-09-16 15:14:56 +02:00
Régis Behmo
8aa049be75 Document openedx/core/djangoapps/video_config feature toggles 2020-09-16 15:14:56 +02:00
Régis Behmo
c8892d321b Document openedx/core/djangoapps/user_authn feature toggles 2020-09-16 15:14:56 +02:00
Feanil Patel
d264490fb7 Merge pull request #24952 from regisb/regisb/simplify-waffle-module-name
[BD-21] Simplify hack to obtain waffle module names
2020-09-15 11:19:43 -04:00
Mike OConnell
11e4cab622 Added remote IP to logging (#24932)
* Add remote IP to logging config

Add a new filter to get the remote IP for the current
request and include it in log statements

SEG-34

* Added line for formatting

Added line for formatting

SEG-34
2020-09-14 11:22:11 -04:00
Régis Behmo
307457a255 Simplify hack to obtain waffle module names
Instead of going up the stacktrace to find the module names of waffle
flags and switches, we manually pass the module __name__ whenever the
flag is created. This is similar to `logging.getLogger(__name__)`
standard behaviour.

As the waffle classes are used outside of edx-platform, we make the new
module_name argument an optional keyword argument. This will change once
we pull waffle_utils outside of edx-platform.

Note that the module name is normally only required to view the list of
existing waffle flags and switches. The module name should not be
necessary to verify if a flag is enabled. Thus, maybe it would make
sense to create a `add` class methor similar to:

    class WaffleFlag:
        @classmethod
        def add(cls, namespace, flag, module):
            instance = cls(namespace, flag)
            cls._class_instances.add((instance, module))
2020-09-14 09:30:24 +02:00
Troy Sankey
ef7ec74a49 Merge pull request #24946 from edx/pwnage101/DENG-379-no-crash-on-missing-themes-dir
Changes that enable the modernization of Analytics Exporter
2020-09-11 11:14:29 -04:00
Florian Haas
125b502c79 Fix documentation for ENABLE_LEARNER_RECORDS
Commit 3222d3fd13 (LEARNER-5987)
introduced the ENABLE_LEARNER_RECORDS site configuration flag, but
incorrectly referred to it as ENABLE_CREDENTIALS_RECORDS in the
documentation for the credentials service.

Fix the reference with the correct flag name.
2020-09-11 14:12:18 +02:00
Troy Sankey
e8ea73c652 Do not crash unexpectedly when looking for a file.
This function to search for themes dirs needs to be able to recover
gracefully if the base dirs do not exist.  This is NOT the app check,
it's just a themes collector---the app check will *properly* report an
error if the base dir does not exist.

DENG-379
2020-09-10 21:17:18 -04:00
Matt Tuchfarber
a391344dca Remove deprecated paid_modes param in programs
paid_modes was replaced with paid_modes_only. Now that methods using
this function are changed, we can remove the param.
2020-09-10 10:37:30 -04:00
Feanil Patel
0113633369 Merge pull request #24818 from edly-io/zubair/BD-18-optimize-paver-settings-call
[BD-18] Optimize paver settings call
2020-09-10 10:19:22 -04:00
uzairr
c68155f76f Modify the api response
Update the api response so that it cannot contain the response
in the form of HTML which may prove vulnerable for MFE in future.

VAN-14
2020-09-10 12:39:09 +05:00
Matt Tuchfarber
3cea568719 Fix variable reuse bug in program enrollment check
Reuse of the variable paid_modes was causing the code to follow an
incorrect path. Changed the filtering version of the variable to
paid_modes_only. Had to keep both variables temporarily until I can fix
plugin code that uses this API.
2020-09-09 14:05:48 -04:00
Zainab Amir
8f83d10528 Add Mechanism to enable logistration MFE (#24908)
Add a toggle that in conjuction with REDIRECT_TO_ACCOUNT_MICROFRONTEND
enables or disables logistration MFE.

VAN-3
2020-09-08 17:46:50 +05:00
Matt Tuchfarber
1c8d90ae4f Merge pull request #24917 from edx/tuchfarber/add_debug_messaging_programs
Add debugging for programs enrollment
2020-09-04 14:27:16 -04:00
Matt Tuchfarber
f90bcabcd7 Add debugging for programs enrollment 2020-09-04 12:05:06 -04:00
Bill Currie
17e69d7881 Adds support for beta users to the course outline API
Adds days_early_for_beta to the ScheduleData class, and its loading
and usage to ScheduleOutlineProcessor.
2020-09-02 16:48:51 +05:30
Braden MacDonald
1c60d5477b Merge PR #24803: [BD-14] BlockLimitReachedError should returns a 400 response instead of 500
https://github.com/edx/edx-platform/pull/24803
2020-08-31 10:39:20 -07:00
Sid Verma
1170a17b5f BlockLimitReachedError should returns a 400 response instead of 500 2020-08-29 01:08:38 +05:30
Albert (AJ) St. Aubin
a206e777af Write a migration to clean up and secure duplicate UserDemographics
entries

[MICROBA-551]
2020-08-28 10:23:06 -04:00
Demid
bf306ec482 Support self-paced courses in learning_sequences app
The main difference between how instructor-paced and self-paced courses
work with respect to the outline on the backend is how we treat the
hide_after_due attribute on subsections (sequences). Namely, self-paced
courses ignore due dates even if they are specified on the sequence
(for example, by OLX import). If hide_after_due is True in a self-paced
course sequence, we only make it inaccessible after the entire course
ends.

This was tracked as BD-29 and TNL-7262.
2020-08-27 12:54:20 -04:00
Pierre Mailhot
36db87e734 fixing language issue for original activation email on sites using more than one language
https://openedx.atlassian.net/browse/CRI-217
https://discuss.openedx.org/t/activation-email-in-multiple-languages/2808
2020-08-27 03:37:05 -04:00
Simon Chen
e2069f97a2 MST-348 Add the API to provide detailed ID Verification information (#24846) 2020-08-26 17:23:04 -04:00
Matt Tuchfarber
25d305fce0 Merge pull request #24791 from edx/tuchfarber/refactor_get_programs_by_type
Refactor program type enrollment checks
2020-08-26 15:10:46 -04:00
Matt Tuchfarber
c4cf0b9bb7 Refactor program type enrollment checks
Checking if a user was enrolled in a program type was using the `name`
field which is subject to be translated. This change allows for us to check by
the type's slug which will be constant. This also includes the addition
of api.py files for the course_modes, catalog, and programs apps.
2020-08-26 14:29:39 -04:00
stvn
8f5e098ce1 Merge PR #24340 open-craft/taniwha/bb-2596
* Commits:
  Convert InvalidKeyError exception to NotFound
2020-08-26 09:57:19 -07:00
Sid Verma
4198eba6c1 Add schema version in library indexes, improve reindexing command 2020-08-24 10:45:01 -04:00
Sid Verma
b56f3d601a Add tests for the case when indexing is disabled 2020-08-24 10:45:01 -04:00
Sid Verma
7a3930efe7 Fail to limited metadata if elastic is not available 2020-08-24 10:45:01 -04:00
Sid Verma
1d2fbcc4cc Optimize and paginate list_libraries API, add num_blocks and last_published fields 2020-08-24 10:45:01 -04:00
Sid Verma
8d33a5a3e1 Add indexing support for blockstore content libraries 2020-08-24 10:45:01 -04:00
Bill Currie
d06d933c95 Convert InvalidKeyError exception to NotFound
This fixes the execption in lms when accessing a blank course via the
front-end-learning MFE.
2020-08-24 17:39:09 +06:00
Waheed Ahmed
13b3764f20 Allow entitlements to be used past course has ended.
Allow entitlements to be used past the course has ended but
upgrade deadline is still in future for already enrolled
learners.

PROD-1497
2020-08-24 13:20:11 +05:00
emzubair
169b82261a [BD-18] Optimize paver settings call 2020-08-21 21:23:29 +05:00
uzairr
7bc17c7dd9 Ratelimit the registration endpoint
PROD-880
2020-08-20 18:38:26 +05:00
Nick
f82a98cdbe Merge pull request #24792 from edx/ndalfonso/AA-282-course-emails-date-sync
AA-282 course emails date sync
2020-08-18 09:31:44 -04:00
Nicholas D'Alfonso
e9e85d05c1 AA-282 course emails date sync
- send course emails to users based on whichever date is later,
  sedule start date or course start date.  This addresses the
  scenario when a user enrolls in a self paced course before it
  has actually started.
2020-08-17 16:01:21 -04:00
Robert Raposa
a8c3413a32 fix waffle instance module name
Fixes the computation of the WaffleFlag and
WaffleSwitch instance module name. This in
turn fixes the code_owner as well.

ARCHBOM-1420
2020-08-15 15:49:11 -04:00
Robert Raposa
60827a6f73 add code_owner for flags and switches
Enhances the toggle state endpoint with
code_owner, module, and class for WaffleFlag
and WaffleSwitch.

ARCHBOM-1420
2020-08-14 16:47:49 -04:00
Diana Huang
6a84710cf7 Add django settings toggles to toggles endpoint. 2020-08-14 13:19:28 -04:00
Robert Raposa
20e5a3247b add course overrides and computed_status
Adds the following additions to the toggle state endpoint:

- course override data from CourseWaffleFlag.
- computed_status for waffle flags (accounting for
course overrides when applicable), and waffle switches.

Note: the waffle switch computed_status will make more
sense when we include WaffleSwitch instances that don't
have any data in the database.

ARCHBOM-1429
ARCHBOM-1366
2020-08-14 10:16:19 -04:00
stvn
70dbd1ab75 Merge PR #24772 add/kill-switch
* Commits:
  Implement kill-switch for the Learning MFE
2020-08-13 14:47:03 -07:00
David Joy
c6ae82db57 Implement kill-switch for the Learning MFE
by overriding can_load_courseware if the MFE is disabled for the user

If the user would be allowed to see the courseware MFE
(can_load_courseware), we check whether the MFE is disabled for them,
based on global settings, course settings (mongo courses), or their
particular bucketing in our ExperimentWaffleFlag.

If we determine they shouldn’t be allowed to see it, we return a new
CoursewareMicrofrontendDisabledAccessError access response, which the
MFE will use to know it should redirect to the old LMS experience.

Fixes: TNL-7362
Co-authored-by: stvn <stvn@mit.edu>
2020-08-13 12:05:49 -07:00
Robert Raposa
c7fb891600 add flags and switches to toggle state
Adds basic waffle flag and waffle switch data
to the toggle state endpoint.

ARCHBOM-1427
2020-08-13 12:02:51 -04:00
Robert Raposa
eb0f62ee16 add tests for toggle state view
ARCHBOM-1427
2020-08-12 17:18:16 -04:00