Commit Graph

23870 Commits

Author SHA1 Message Date
Maria Grimaldi
721b63587a Merge pull request #30431 from eduNEXT/MJG/cohort-assignment-filter
[BD-32] feat: integrate cohort assignment filter definition
2022-06-13 14:06:42 -04:00
Diana Huang
c6af151aaa fix: Remove reference to course info SASS. (#30577)
We removed this SASS file in PR #30299. This
removes the reference to it.
2022-06-13 11:33:10 -04:00
Maria Grimaldi
ec69659253 feat: integrate cohort assignment filter definition to cohort model 2022-06-13 11:28:01 -04:00
ruzniaievdm
116431cb81 refactor: Replace PDF course certificate view code (#30397)
Co-authored-by: ruzniaievdm <ruzniaievdm@gmail.com>
2022-06-13 09:43:02 -04:00
Feanil Patel
b9131ac1af Merge pull request #30299 from raccoongang/depr/remove-course-info
FC-0001: Remove legacy course info page & related code
2022-06-13 08:23:25 -04:00
Ahtisham Shahid
085526cf73 feat: added flag to enable MFE banner for learners (#30564)
Co-authored-by: AhtishamShahid <ahtishamshahid@A006-00850.local>
2022-06-09 23:37:20 +05:00
Nathan Sprenkle
cf6ea15fff feat: add course listing alongside learner dashboard (#30553)
* refactor: split programs into separate file space

This is in preparation to allow learner dashboard routes/files to live
alongside.

* feat: add new empty course listing view

* docs: update README and split out programs

Co-authored-by: nsprenkle <nsprenkle@2u.com>
2022-06-09 11:22:04 -04:00
muhammad-ammar
60c94ea8ca chore: add more logs in send_segment_events_for_failed_learners command 2022-06-09 16:52:17 +05:00
Muhammad Adeel Tajamul
36c0c0d7cd Merge pull request #30546 from openedx/inf-238
feat: created api for new learner area
2022-06-09 16:51:06 +05:00
adeel.tajamul
3e14628f1a feat: created api for new learner area 2022-06-09 16:32:21 +05:00
Arunmozhi
ba8e98c710 refactor: move noauth rebind ModuleSystem argument to service (#30320)
This removes the `rebind_noauth_module_to_user` argument from the
ModuleSystem constructor and moves it to a separate service called
"rebinder" in the class `RebindModuleService`. This is used in the
LTI module to bind calls received by its noauth endpoint to bind
the module the real_user.
2022-06-08 20:26:59 +02:00
Arunmozhi
aedcd7910d refactor: deprecate hostname attribute from ModuleSystem (#30308)
The hostname constructor argument of the XModule ModuleSystem is deprecated
in favour of directly accessing the LMS_BASE value from django.conf.settings.
2022-06-08 19:49:58 +02:00
Demid
8886f29e52 refactor: remove debug property from ModuleSystem (#30450)
This also:
1. Removes this property from XBlock runtime shims.
2. Updates the minimum required version of the LTI Consumer XBlock.
2022-06-08 18:59:45 +02:00
Arunmozhi
c54d8a81bf refactor: deprecate node_path attribute of ModuleSystem (#30447)
The node_path attribute & constructor argument of the ModuleSystem is
deprecated without any replacement service or fallback as there doesn't
seem to be any core blocks using it.

It also removes the references to node_path from the LMS settings, the
LoncapaModuleSystem and the XBlock runtime shim.

Co-authored-by: Agrendalath <piotr@surowiec.it>
2022-06-08 18:06:59 +02:00
Mohammad Ahtasham ul Hassan
22e510d69b fix: remove logging (#30559) 2022-06-08 20:31:52 +05:00
muhammad-ammar
c0a5dac128 feat: send segment event for failed learners for a course 2022-06-08 13:51:13 +05:00
connorhaugh
ab59796a56 fix: python-dateutil version issue 2022-06-07 14:33:44 +05:00
Jeremy Ristau
d253503099 Merge pull request #29728 from open-craft/tecoholic/add_reset_to_randomized_content_block
feat: add reset option to the Randomized Content Block
2022-06-06 12:34:15 -04:00
Kyle McCormick
9f380b9ccd refactor: import common/lib/ modules from canonical locations (#30533)
Unfortunately, some code in edx-platform is imported
relative to sub-projects instead of the repository root.
The only three remaining instances of this are:
* common/lib/xmodule/xmodule (imported as just 'xmodule')
* common/lib/capa/capa (imported as just 'capa')
* openedx/core/lib/xblock_builtin/xblock_discussion
  (imported as just 'xblock_discussion')

For more details on the situation, see:
https://openedx.atlassian.net/browse/BOM-2579
(public, but requires Atlassian account creation).

We would like to get to a point where all edx-platform
import paths match their folder paths, relative to the repo
root. For now, though, all common/lib/capa and common/lib/xmodule
code should be imported as just `from capa` and `from xmodule`,
respectively. Importing using the full `common.lib.xmodule.xmodule...`
path will often work, but it instantiates a second instance of all
modules imported this way, which in the past has led to very
difficult-to-diagnose bugs.  It also confuses tooling such as
import-linter, which we are trying to add to edx-platform
(see https://openedx.atlassian.net/browse/BOM-2576)
2022-06-06 09:54:16 -04:00
ansabgillani
d7a60fd21b feat: add SSO History to support 2022-06-06 18:40:49 +05:00
Navin Karkera
aba1f052df fix: handle missing COMPLETION_AGGREGATOR_URL setting (#30331) 2022-06-06 09:40:12 -04:00
Waheed Ahmad
f26f53e2fc Merge pull request #250 from edx/waheed/VAN-972-xss-vul
fix: cross-site scripting vulnerability on logout page
2022-06-06 14:46:13 +05:00
Sagirov Eugeniy
92ca176fde refactor: Remove legacy course info page & related code 2022-06-05 19:00:05 +03:00
Cristhian Garcia
e66036bba2 fix: dynamically generated unverified cert data (#30365) 2022-06-03 11:46:46 -04:00
Régis Behmo
7d4543814d refactor: less confusing ACE configuration (#27719)
The ACE_* settings from lms/envs/common.py are all ignored because they are
overloaded by the plugin settings. We were recently bitten by this, as we
discovered that the ACE_ROUTING_KEY was incorrectly set to 'edx.core.low'.
Here, we fix this default value and remove ACE_* settings from
lms/envs/common.py to avoid confusion.

See: https://github.com/overhangio/tutor/issues/439
2022-06-02 14:21:19 -04:00
Justin Hynes
13d82d757f Merge pull request #30524 from openedx/jhynes/scheduled-instructor-task-bugfix
fix: fix issue with incorrect bulk email schedules
2022-06-02 08:06:19 -04:00
SaadYousaf
af31e68f8e fix: fix variable name in email template 2022-06-02 12:38:24 +05:00
Saad Yousaf
1800257bcd fix: fix issues with reported content email notifications (#30522)
Co-authored-by: SaadYousaf <saadyousaf@A006-00314.local>
2022-06-02 11:09:32 +05:00
Justin Hynes
d7ae3181b6 fix: fix issue with incorrect bulk email schedules
[MICROBA-1835]
* The DateTime string received from the Comms MFE was already in UTC so there is no need to convert the schedule to UTC on the backend.
2022-06-01 15:49:57 -04:00
Usama Sadiq
259084ed77 Revert "BOM-2245 : Unpin python-dateutil" (#30515) 2022-05-31 21:02:59 +05:00
Ghassan Maslamani
0874ccfc94 fix: share urls in course about page (#30389) 2022-05-31 09:49:22 -04:00
M Umar Khan
3492bede44 fix: python-dateutil version issue 2022-05-31 17:51:26 +05:00
Waheed Ahmed
7eb9a45e2d fix: cross-site scripting vulnerability on logout page
The target URL on logout page is marked as safe while rendering and
making the page volunerable to Cross-site scripting vulnerability.

Rendered the target variable outside safe HTML so that it should be
treated as text.

VAN-972
2022-05-31 16:07:05 +05:00
Ahtisham Shahid
c6962a9ba6 fix: added global staff to prevliged access (#30506)
Co-authored-by: AhtishamShahid <ahtishamshahid@A006-00850.local>
2022-05-31 13:01:03 +05:00
Ahtisham Shahid
6214e6beee feat: allow banner for discussions moderators (#30502) 2022-05-31 13:00:41 +05:00
Muhammad Adeel Tajamul
d81f7966fb Merge pull request #30503 from openedx/inf-224-2
fix: thread api will now allow filter by group id
2022-05-31 12:56:32 +05:00
adeel.tajamul
501ac92bd2 fix: thread api will now allow filter by group id 2022-05-31 07:02:44 +05:00
edx-semantic-release
6de1c2fa3f chore(i18n): update translations 2022-05-29 17:07:02 -04:00
Adam Stankiewicz
d04ba92ead fix: add segment events to EnterpriseLearnerPortalModal (#30504) 2022-05-27 11:54:01 -04:00
Muhammad Ammar
ceef9bfb1e Merge pull request #30466 from openedx/ammar/send-segment-event-for-first-time-passed-learners
feat: send segment event for learners who passed a course first time
2022-05-27 17:30:23 +05:00
Kshitij Sobti
431b8eb06b fix: revert discussion tab redirection (#30492)
Reverts redirecting to the MFE in the discussion tab since the tab code itself now handles embedding the MFE.
2022-05-27 16:01:24 +05:00
oliviaruizknott
74780ad4c0 fix: send COURSE_CERT_DATE_CHANGE signal on_commit
**Previously**
When a course administrator changed the `certificates_display_behavior` (presumably to `end_with_date`) AND set the `certificate_available_date` in Studio, the `certificate_available_date` was not syncing to Credentials.

This was because we chose to send the `certificate_available_date` only if the course is self-paced and the `certificate_display_behavior` is set to `end_with_date`. [See PR #28275](https://github.com/openedx/edx-platform/pull/28275). However, we were checking those two conditions by looking at the relevant `CourseOverview`, which was not yet truly saved to reflect the updated display behavior at the time of the check due to atomic requests. [Read more about atomic requests and transactions here](https://docs.djangoproject.com/en/4.0/topics/db/transactions/#tying-transactions-to-http-requests-1); we have `ATOMIC_REQUESTS` set to `TRUE` in our codebase. Because the `certificate_display_behavior` was not (yet) `end_with_date`, the post to Credentials was not being fired.

**Solution**
To fix, this commit sends the `COURSE_CERT_DATE_CHANGE` signal `on_commit` instead, which waits until the transaction has completed and the update to the `CourseOverview` has been truly applied to the database. [Read more about `on_commit` here](https://docs.djangoproject.com/en/4.0/topics/db/transactions/#django.db.transaction.on_commit). Now, when the relevant `CourseOverview` is read, it will have the updated `certificate_display_behavior`.

See the [Django docs for how to test on_commit callbacks here](https://docs.djangoproject.com/en/3.2/topics/testing/tools/#django.test.TestCase.captureOnCommitCallbacks); this seems to be our first time using the built-in method.

This commit also cleans up some previous code that was meant to get around the problem caused by atomic requests, that is now unneccessary with this fix. It essentially reverses the work done in [PR #26991](https://github.com/openedx/edx-platform/pull/26991): we no longer need to explicitly pass the `certificate_available_date` since we can trust the `CourseOverview` to be properly updated.

**Rejected Solutions**
A. Simply publish the `COURSE_CERT_DATE_CHANGE` signal `on_commit`; no other changes. Rejected because: This would fix the problem, but leaves a lot of unnecessary code and some puzzling inconsistencies. I prefer the solution above because we are cleaning up behind ourselves.

B. Pass the new `certificate_display_behavior` along with the `certificate_available_date`; read those direclty instead of checking the (not-yet-properly-updated) `CourseOverview`. Rejected because: The pattern of passing the new `certificate_available_date` down through all these methods was put in place to get around the atomic requests problem. I believe `on_commit` to be a better solution to getting around that problem. I’d like to move away from passing data down through several functions / methods.

C. Start the celery task `on_commit` (rather than send the signal `on_commit`). Rejected because: The signal receiver basically only starts the celery task, and I find the break to be a bit more readable when sending the signal. No need to split hairs here.

D. Remove the check for pacing and display behavior; send the updated `certificate_available_date` every time there is a change, no matter what the current display behavior is. Rejected because: We intentionally added this check in [PR #28275](https://github.com/openedx/edx-platform/pull/28275) because the task was not behaving as expected without it (specifically around self-paced courses). I assume this is still necessary.

**Relevant Prior Work**
The following PRs--in order--show how this section (and other relevant sections) of the code have been changed over time:
1. [Move cert date signals to avoid race conditions #26841](https://github.com/openedx/edx-platform/pull/26841)
2. [feat: Pass date in cert date update signal #26991](https://github.com/openedx/edx-platform/pull/26991)
3. [Fix certificate available date sync #28275](https://github.com/openedx/edx-platform/pull/28275)
4. [fix: Correct an issue where cert available date was not sent to Crede… #28524](https://github.com/openedx/edx-platform/pull/28524)

MICROBA-1818
2022-05-26 14:09:00 -04:00
Saleem Latif
97f0ce87ac fix: Fixed a small error related to function return type. 2022-05-26 19:36:38 +05:00
muhammad-ammar
cc0690fcda feat: send segment event for learners who passed a course first time 2022-05-26 17:57:30 +05:00
SaadYousaf
2684189127 fix: address UX feedback on reported content email template 2022-05-26 16:59:24 +05:00
Ali Akbar
8528fc07f6 Merge pull request #30464 from openedx/aakbar/PROD-2764-fix-oauth2
fix: use client-credential oauth2 application entry
2022-05-26 11:21:53 +05:00
julianajlk
43fb2cc022 fix: Update enrollments FBE status by course key in dashboard (#30483)
REV-2466
2022-05-25 12:01:42 -04:00
Saleem Latif
eb45e53799 Merge pull request #30439 from openedx/saleem-latif/ENT-5796
Enterprise learner with enabled learner portal should be redirect to B2B course about page.
2022-05-25 12:36:02 +05:00
Saleem Latif
f13b0e0e8a feat: Enterprise learner with enabled learner portal should be redirect to B2B course about page. 2022-05-25 12:19:53 +05:00
julianajlk
f7d4282101 Revert "fix: Use dashboard_index to get FBE status (#30463)" (#30475)
This reverts commit e25e17ee88.
2022-05-24 14:35:47 -04:00