Commit Graph

761 Commits

Author SHA1 Message Date
0x29a
3a1011bed8 refactor: replace usages of XModuleMixin.system with XBlock.runtime 2023-01-30 18:15:24 +01:00
0x29a
af13a326be refactor: rename module (or item) -> block within lms/djangoapps/instructor 2023-01-30 18:15:23 +01:00
0x29a
9d8375ff99 refactor: rename module -> block within lms/djangoapps/courseware
Also, removed unused `_has_access_xmodule` methid from `lms/djangoapps/courseware/access.py`.
2023-01-30 18:15:22 +01:00
0x29a
007e02cd76 refactor: xmodule/html_module.py -> xmodule/html_block.py 2022-12-19 17:48:49 +01:00
Agrendalath
49e664cbd7 fix: regenerate the cache on due date extensions 2022-11-04 09:40:02 +01:00
Sagirov Evgeniy
265ddc426e feat!: raise 404 for old mongo course pages (#31125)
LMS Courseware access to Old Mongo courses was already removed in
fc8601de (https://github.com/openedx/edx-platform/pull/30172). This
commit makes direct links to the other tabs (progress, instructor
dashboard, discussion, static tabs) fail with a 404 error on Old
Mongo courses.

Upcoming work to remove parent/child relationships from the Old
Mongo Modulestore would have broken these pages anyway.
2022-10-12 10:44:04 -04: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
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
Eugene Dyudyunov
5c5d383aa0 refactor: remove VerifiedTrackCohortedCourse feature 2022-05-02 17:41:08 +03:00
jfavellar90
aefdda9df3 perf: Relax load in instructor dashboard page
Relax load when bringing all the course children when fetching a course in the instructor dashboard page.

When loading the Instructor dashboard, the course is fetched with
3cbc5b9cdc/lms/djangoapps/instructor/views/instructor_dashboard.py (L122)

 Please note that the parameter **depth** is zero, so the course is fetched with no children (sections, subsections, sequentials, etc). In a subsequent part of the code, the extensions tab is loaded, specifically in :

3cbc5b9cdc/lms/djangoapps/instructor/views/instructor_dashboard.py (L585)

Which eventually call the method **get_units_with_due_date**

3cbc5b9cdc/lms/djangoapps/instructor/views/tools.py (L121) .

This method iterates over the course and its children to find blocks with due dates. This iteration was taking too long unless the course is fetched with **depth** None, which brings all the children of the course, reason why this commit is created.
2022-04-25 09:43:50 -04:00
Jansen Kantor
4d18a6c1a0 feat: block team oras from ESG (#30269)
* feat: add teams enabled flag to ORA item view context

* feat: all team ORAs should be marked esg disabled
2022-04-18 15:41:02 -04:00
Justin Hynes
f2582c4e9e Merge pull request #30192 from openedx/jhynes/microba-1507_scheduled-tasks
feat: update existing functions to support scheduled email tasks
2022-04-12 08:26:31 -04:00
Justin Hynes
e826abc0e8 feat: update existing functions to support scheduled email tasks
[MICROBA-1507]

* Adds support to the bulk course email tool to extract a schedule and timezone from a `send_email` request.
* Submits the task for scheduling when needed.
2022-04-07 13:35:31 -04:00
Usama Sadiq
80f9f1de7a Fix quality failures with pylint 2.13.5 (#30197)
* build: update pylint-checks ci workflow
* fix: fix quality failures with new pylint version
* chore: remove pylint constraint
* chore: Updating Python Requirements (#30196)
Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2022-04-07 13:59:44 +05:00
alangsto
681c2f1d6c chore: remove IDV references for proctoring and student/instructor display (#30146)
Places where IDV is referenced for blocking proctoring or displaying the IDV status to students and instructors should be removed. This includes the use of the ENABLE_INTEGRITY_SIGNATURE setting, which was used in part to deprecate IDV in those specified places. Other areas where ENABLE_INTEGRITY_SIGNATURE is used (such as for showing/hiding the integrity signature, for the verification deadline, or for certs) shall be left as is due to deprecation concerns.
2022-04-04 08:11:40 -07:00
Justin Hynes
31d3fcc01a feat: add models for scheduled instructor tasks
[MICROBA-1508]
- Adds the InstructorTaskSchedule model
- Adds the HistoricalInstructorTaskSchedule model
- Adds utility function used to create a InstructorTaskSchedule instance
- Adds a public `create_course_email` Python API function to the bulk_email app that can be imported and used in external apps
- Adds a new `test_api_helper.py` test file (with tests for the new `schedule_task` function) to the instructor_task app
- Adds a new `test_api.py` test file (with tests for the new `create_course_email` function to the bulk_email app
2022-03-25 14:34:37 -04:00
Thomas Tracy
700829bd4b feat: [Microba-1758] link new bulk email tool (#30099)
Creates a link to the new communication mfe's bulk email tool in the
instructor dashboard version. Staff can now use either experience. In
the future, we plan on turning off the old experience, like analytics.
2022-03-22 13:47:08 -04:00
Justin Hynes
bbb0bc77d9 revert: reverts 53041a2, causing email issues
[MICROBA-1666]

This reverts commit 53041a2d34 after course team started reporting issues of images in emails not respecting dimensions set with the email editor.

After a brief investigation we found unexpected attributes (like `width` and `height` of an image) being stripped from the HTML.
2022-03-02 14:03:55 -05:00
Justin Hynes
53041a2d34 feat: sanitize bulk course email message content before storing in database
[MICROBA-1666]

* Use bleach to sanitize user-provided content of bulk course emails before storing in the database.
* Add new `BULK_COURSE_EMAIL_ALLOWED_HTML_TAGS` setting to enable configuration of allowed HTML tags in bulk course emails.
2022-02-28 08:49:06 -05:00
Bianca Severino
af81b3a609 chore: replace integrity signature flag with django setting 2022-02-15 09:57:00 -05:00
Jansen Kantor
30dcdb487a fix: uncaught ItemNotFoundErrors (#29870) 2022-02-04 10:24:15 -05:00
Julia Eskew
89b3efc982 fix: Email sent via ACE cannot use Braze as a mail-delivery backend unless
a valid LMS user ID is supplied. If Braze cannot be used, AWS SES is used
instead. However, sometimes the SES score can prevent email from being delivered.
Make a best effort in every case to obtain a user ID and send it along with
the email to be sent by ACE and Braze.

TNL-9417
2022-01-06 10:49:01 -05:00
Jawayria
309669f974 chore: Applied lint-amnesty on lms/djangoapps/instructor (#29399) 2021-12-21 13:37:04 +05:00
Matt Hughes
a92f372a3e fix: redirect behavior to learner-specific progress pages
JIRA:AU-375
2021-12-13 15:52:00 -05:00
Abdurrehman
6c6cf0ad0b feat: external plugin integration in instructor dashboard (#29376)
* feat: external plugin integration fixes
2021-12-07 15:54:00 +05:00
Thomas Tracy
038d68d53c feat: [MICROBA-1531] bulk email deny list logic (#29465)
* feat: [MICROBA-1531] bulk_email deny list logic
2021-12-02 13:11:55 -05:00
alangsto
a1b967a2fb feat: remove verification status from profile data report (#29428)
The verification status should be removed from the student profile data report if the integrity signature toggle has been enabled.
2021-11-24 11:41:20 -05:00
Kshitij Sobti
e8e8f4acbe feat!: Change the way tabs are ordered [BD-38] [TNL-9174] [BB-5076] (#29262)
* feat!: Change the way tabs are ordered
The change imposes a new ordering for tabs based on their new priority. When reordering tabs, this ordering will be maintained.

* fix: Apply suggestions from code review

Co-authored-by: Farhaan Bukhsh <farhaan@opencraft.com>

* fix: review feedback

Co-authored-by: Farhaan Bukhsh <farhaan@opencraft.com>
2021-11-22 11:17:30 +05:00
M. Zulqarnain
95dbcaa323 feat: Django codemods on LMS (4) (#28854) 2021-11-19 15:10:58 +05:00
Awais Jibran
deba009e25 refactor: remove unused variables (#29304)
I have come across these unused variables and thought it's good to remove and clean up the code.
2021-11-12 00:28:35 +05:00
Ned Batchelder
d9dd10dc97 style: code cleanups from Steven Burch (#29292)
* chore: update deprecated import from collections

* chore: remove outdated imports from markdown library

as it hasn't been supported since 2.0.3 and we're on 3.x.
This was deprecated at least as early as 2012!

* docs: add docstring and remove lint-amnesty to markdown plugin

* chore: remove deprecated etree import

* style: remove unnecessary-comprehension for sets

* style: resolve a number of amnestied pylint complaints

Co-authored-by: stvn <stvn@mit.edu>
2021-11-10 07:11:57 -08:00
Kshitij Sobti
79cd0b1ef8 feat: Adds discussions settings for new discusions experience [BD-38] [TNL-8621] [BB-4854] (#29131)
* feat: Adds discussions settings for new discusions experience
This commit adds new discussions settings for the new discussions experience. These are stored in the course so they can be a part of course import/export flow.
These are also added to the discussions configuraiton API to allow MFEs to update the settings.
The discussions API is currently available via LMS, however that means it cannot save changes to the modulestore. This also adds the API to the studio config so it can now also be accessed from studio and be used to save course settings.

* fix: tests
2021-10-28 11:56:17 +05:00
David Ormsbee
5d0132305d Revert "feat: Adds discussions settings for new discusions experience (#28749)"
This reverts commit bb0c03123c.
2021-10-27 10:40:12 -04:00
Kshitij Sobti
bb0c03123c feat: Adds discussions settings for new discusions experience (#28749)
This commit adds new discussions settings for the new discussions experience. These are stored in the course so they can be a part of course import/export flow.
These are also added to the discussions configuraiton API to allow MFEs to update the settings.
The discussions API is currently available via LMS, however that means it cannot save changes to the modulestore. This also adds the API to the studio config so it can now also be accessed from studio and be used to save course settings.
2021-10-27 15:41:27 +05:00
João Victor Martins
418fd7f4b1 feat: Add optional cohort and course mode to bulk register
This adds two optional columns to the bulk register/enroll csv: cohort and
course mode. This enables setting the course mode and cohort for a user in the
same process as bulk enrolling/registering.
2021-10-26 19:14:21 +02:00
Julia Eskew
cc3747add6 feat: Optimize the querying of course block dates when querying dates for use in a
course outline, which don't need block dates below the subsection level of a course.
Pass the course's published version to all the appropriate places where edx-when's API
is called - to allow edx-when to more efficiently cache queried/processed results.

TNL-8061
2021-09-27 12:02:59 -04:00
Usama Sadiq
023f4144ab fix: fix new pylint warnings (#28725) 2021-09-23 17:54:15 +05:00
Awais Jibran
4196ac7730 refactor: remove duplicate decorator (#28763) 2021-09-16 16:06:29 +05:00
David Ormsbee
309cadc973 Revert "Use new version of edx-when." (#28684)
Reverting because of errors seen in proctoring. The error from splunk:

 File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/edx_proctoring/views.py", line 590, in get
    data['onboarding_release_date'] = effective_start.isoformat()
AttributeError: 'NoneType' object has no attribute 'isoformat'

The effective date is coming from learning_sequences, which ultimately
comes from edx-when.
2021-09-08 11:05:35 -04:00
Julia Eskew
a4ba37b882 feat: Optimize the querying of course block dates when querying dates for use in a
course outline, which don't need block dates below the subsection level of a course.
Pass the course's published version to all the appropriate places where edx-when's API
is called - to allow edx-when to more efficiently cache queried/processed results.

TNL-8061
2021-09-02 17:45:13 -04:00
mohtamba
25dfb9d4ca Remove waffle flag for bulk allowance
Remove the waffle flag for bulk allowance, so by default the bulk allowance feature is enabled and is the only option.
2021-08-17 07:42:39 -04:00
Justin Hynes
7f5cf2fabd refactor: update certificates app Python API functions
[MICROBA-1354]

* Update Python API function named `cert_generated_enabled` to `has_self_generated_certificates_enabled` to more accurately reflect the purpose of the function
2021-08-04 08:43:12 -04:00
Justin Hynes
d4a7a44909 refactor!: Remove generate_example_certificates and update Instructor Dashboard with updated messaging.
[MICROBA-1087]
[DEPR-155]

* Remove `generate_example_certificates` functionality
* Adjust Instructor dashboard slightly to prevent people from clicking the `Generate Example Certificates` button, remove form/code that called the `generate_example_certificates` endpoint.
2021-08-02 13:26:28 -04:00
mohtamba
1c53194250 Add Waffle Flag for Bulk Allowances
Add bulk allowance flag to allow for new feature to be enabled.
2021-07-15 13:41:45 -04:00
Matthew Piatetsky
36de3b8677 fix: fix student progress url on student admin dashboard 2021-06-28 09:15:14 -04:00
SaadYousaf
608f1994b7 refactor: move waffle flag calculation to utils file and other updates 2021-06-28 11:54:16 +05:00
SaadYousaf
90921e19e2 test: add tests for discussion settings and tab visibility with override_discussions_setting flag. 2021-06-28 11:54:16 +05:00
SaadYousaf
039a816e57 refactor: move pages_and_resources_mfe WaffleFlag to use in both LMS and Studio 2021-06-28 11:54:16 +05:00