Commit Graph

13232 Commits

Author SHA1 Message Date
Cristhian Garcia
e66036bba2 fix: dynamically generated unverified cert data (#30365) 2022-06-03 11:46:46 -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
M Umar Khan
3492bede44 fix: python-dateutil version issue 2022-05-31 17:51:26 +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
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
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
Eugene Dyudyunov
b4fecd620b refactor: rename toggle_warnings to toggle_warning (#30458)
Rename toggle_warnings to toggle_warning for consistency with setting_warning.
2022-05-24 11:47:31 -04:00
Usama Sadiq
583b36938e fix: fix ResourceWarnings (#30317) 2022-05-24 11:44:45 +05:00
AliAkbar
49b2d543e5 fix: use client-credential oauth2 application entry 2022-05-23 19:58:58 +05:00
Justin Hynes
8026f74e80 feat: Add management command for processing scheduled instructor tasks
[MICROBA-1512]
* Adds a new management command to the `instructor_task` app that will be used to process scheduled tasks ready for execution by Celery.
2022-05-20 12:50:27 -04:00
Justin Hynes
068eecff91 Merge pull request #30408 from openedx/jhynes/microba-1510_update-email-api
feat: MICROBA-1510; add support for updating course email content and schedules
2022-05-19 14:10:54 -04:00
Justin Hynes
79c53f1002 feat: MICROBA-1510; add support for updating course email content and schedules
[MICROBA-1510]
- Add support for updating an instructor task schedule date via REST API
- Add support for updating the contents of a scheduled course email via REST API
2022-05-19 13:42:58 -04:00
Justin Hynes
bfd75013a1 chore: update instructor task names to use constants
* Update various instructor task logic to use constants over strings when referring to instructor task names
2022-05-17 11:52:35 -04:00
SaadYousaf
a26a6b83d5 refactor: remove temporary logs and fix email styling for reported content. 2022-05-16 13:48:46 +05:00
Feanil Patel
661949771a Merge pull request #30347 from raccoongang/remove-verified-track-cohort
FC-0001: Remove verified track cohort
2022-05-13 09:47:13 -04:00
Eugene Dyudyunov
52dd883a3c refactor: delete now unused FutureCourseWaffleFlag (#30367)
Remove temporary FutureCourseWaffleFlag class;
Update ora2 and edx-toggles to versions cleaned from the
LegacyWaffle* classes;
Replace `override_flag`s with `override_waffle_flag`;
Replace `override_switch`s with `override_waffle_switch` (where it's possible).
2022-05-13 08:48:42 -04:00
Mubbshar Anwar
0d2ea3c2e2 fix: handle ObjectDoesNotExist exception (#30378)
Fix exception ObjectDoesNotExist while geting program enrollment in send_program_reminder_emails command.
2022-05-13 14:23:36 +05:00
Ali Akbar
f63543c49d Merge pull request #30243 from openedx/aakbar/PROD-2739
feat: use new financial assistance flow in FinancialAssistanceTool
2022-05-12 23:45:55 +05:00
Mubbshar Anwar
a83c5cd447 fix: attribute error (#30372)
saved program attribute error in send_program_reminder_emails command
2022-05-12 12:28:53 +05:00
AliAkbar
ac985dbf7f feat: use new financial assistance flow in FinancialAssistanceTool 2022-05-12 00:59:07 +05:00
Maria Grimaldi
6b8de6eb3f Merge pull request #29996 from eduNEXT/MJG/course-about-render-filter
[BD-32] feat: add filter before course about rendering process starts
2022-05-11 14:07:02 -04:00
SaadYousaf
016c697922 fix: add logs and fix issues with reported content email template. 2022-05-11 22:51:01 +05:00
Maria Grimaldi
ccfa0b484b feat: add filter before course about rendering process starts 2022-05-11 13:40:40 -04:00
Abdurrahman Asad
f22a129b23 fix: discussion moderators can't create posts for specific cohorts (#30352)
fix: discussion moderators can't create posts for specific cohorts
2022-05-11 09:41:48 +05:00
Eugene Dyudyunov
655e4a344f refactor!: update CourseWaffleFlag (#30351)
BREAKING: get rid of the LegacyWaffle-based CourseWaffleFlag.
Both CourseWaffleFlag and FutureCourseWaffleFlag now use the modern
WaffleFlag as parent class. FutureCourseWaffleFlag left to support ORA
transition to modern waffle.

Switch to the ORA version which supporting new Waffles.
2022-05-10 15:08:59 -04:00
Maria Grimaldi
695d23489e Merge pull request #29976 from eduNEXT/MJG/certificate-render-filter
[BD-32] feat: add filter before certificate rendering process starts
2022-05-10 14:37:22 -04:00
Maria Grimaldi
7f974d1fff feat: add filter before certificate rendering process starts 2022-05-10 13:59:24 -04:00
Demid
a4ec4c1b8e refactor: Delete XModule classes (#30262)
Removes XModule, XModuleDescriptor, ProxyAttribute classes and their usages.
2022-05-10 19:09:11 +02:00
Eugene Dyudyunov
289e682b8f FC-0001: Remove old EdxRestAPIClient usage across the platform (#30301)
* refactor: remove EdxRestAPIClient

* test: update tests according to EdxRestAPIClient removal

* fix: remove unused import
2022-05-09 12:48:26 -04:00
Simon Chen
192b35eb8f fix: add Learner as another role posted to LTI tools for the LTI embed (#30356)
Co-authored-by: Simon Chen <schen@edx-c02fw0guml85.lan>
2022-05-09 10:12:28 -04:00
Justin Hynes
8f2eb38220 Merge pull request #30342 from openedx/jhynes/microba-1510_rest-apis
feat: add new REST APIs to support scheduled bulk email
2022-05-09 09:41:44 -04:00
Waheed Ahmad
bab13f7281 fix: SFL event type (#30353)
Event type for save-for-later events is setting as null.
2022-05-09 17:01:26 +05:00
Maria Grimaldi
e8fa890af7 feat: add filter before certificate creation starts
- Add filters interactions with code that used generate_certificate_task
- Add unit-testing for filters
- Upgrade to latest library update
2022-05-06 13:57:21 -04:00
Justin Hynes
351d9e6759 feat: add new REST API to support scheduled bulk email
[MICROBA-1510]

* update InstructorTaskSchedule model delete behavior from CASCADE to DO_NOTHING.
* add utility function supporting cancellation of scheduled tasks to the instructor_task app
* add utility function to determine if a user has staff or instructor level access to a course to the student app
* adds a REST API for supporting retrieval and cancellation of scheduled bulk email tasks
* add unit tests for new functionality in the student app
* add unit tests for the new functionality in the bulk_email app
* remove use of CourseEmail object directly in another related test file
* add unit tests for the new REST API views.
2022-05-05 14:26:35 -04:00
Eugene Dyudyunov
8bd43207ca refactor!: switch from LegacyWaffle* to modern waffles (#30330)
This is a first stage for removing the LegacyWaffle* classes.

LegacyWaffleFlag usage replaced with WaffleFlag;
LegacyWaffleSwitche usage replaced with WaffleSwitch;
New CourseWaffleFlag added to the temporary module __future__ as FutureCourseWaffleFlag;
Updated all the imports to use CourseWaffleFlag from the __future__ module;

BREAKING CHANGE: A number of toggle related constants (e.g. ENABLE_ACCESSIBILITY_POLICY_PAGE)
changed types. They were strings, and are now toggle instances (e.g. WaffleSwitch). Although the entire
refactor should be self-contained in edx-platform, if any plugins or dependencies were directly
using these constants, they will break. If this is the case, try to find a better publicized way of
exposing those toggles.
2022-05-05 12:03:10 -04:00
Eugene Dyudyunov
01bd073a0d fix: get rid of removed model dependency 2022-05-03 13:17:21 +03:00