Commit Graph

78 Commits

Author SHA1 Message Date
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
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
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
Justin Hynes
bec97653b5 feat: add support for processing scheduled instructor tasks
[MICROBA-1507]

* adds new functionality for retrieving and submitting scheduled tasks to Celery
* add an InstructorTaskSchedule factory for unit testing
* adds unit tests for processing scheduled tasks
2022-04-19 15:29:27 -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
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
Jawayria
d0fbde8973 chore: Applied lint-amnesty on lms/djangoapps (#29395) 2021-12-21 13:36:50 +05:00
Albert (AJ) St. Aubin
c37e88fdbf refactor: Move CertificateStatuses to data.py file per OEP-49
[MICROBA-678]

To allow access to CertificateStatuses constants in other Django apps we are moving the
CertificateStatuses enum to data.py per OEP-49.
2021-06-08 08:56:21 -04:00
stvn
8869a30bcd refactor: Move UserFactory helper to common/ 2021-04-14 07:26:39 -07:00
Saad Yousaf
b6b8c3b8d6 [TNL-7970] - Convert anonymized id report code to an instructor task. (#26778)
Co-authored-by: SaadYousaf <saadyousaf@A006-00314.local>
2021-03-11 11:48:35 +05:00
usamasadiq
3f1df8eb2a Ran pyupgrade on lms/djangoapps
Ran pyupgrade on lms/djangoapps/instructor_analytics
Ran pyugprade on lms/djangoapps/instructor_task
Ran pyupgrade on lms/djangoapps/learner_dashboard
2021-02-19 17:30:59 +05:00
Aarif
1ead9f684c replaced unittest assertions pytest assertions (#26546) 2021-02-18 18:01:41 +05:00
Awais Qureshi
44576ce3f6 BOM-2282
Apply pylint-amnesty.
2021-02-01 19:27:15 +05:00
Kyle McCormick
d1a775d3cd Use full names for lms.djangoapps imports (#25401)
* Use full LMS imports paths in LMS settings and urls modules
* Use full LMS import paths in Studio settings and urls modules
* Import from lms.djangoapps.badges instead of badges
* Import from lms.djangoapps.branding instead of branding
* Import from lms.djangoapps.bulk_email instead of bulk_email
* Import from lms.djangoapps.bulk_enroll instead of bulk_enroll
* Import from lms.djangoapps.ccx instead of ccx
* Import from lms.djangoapps.course_api instead of course_api
* Import from lms.djangoapps.course_blocks instead of course_blocks
* Import from lms.djangoapps.course_wiki instead of course_wiki
* Import from lms.djangoapps.courseware instead of courseware
* Import from lms.djangoapps.dashboard instead of dashboard
* Import from lms.djangoapps.discussion import discussion
* Import from lms.djangoapps.email_marketing instead of email_marketing
* Import from lms.djangoapps.experiments instead of experiments
* Import from lms.djangoapps.gating instead of gating
* Import from lms.djangoapps.grades instead of grades
* Import from lms.djangoapps.instructor_analytics instead of instructor_analytics
* Import form lms.djangoapps.lms_xblock instead of lms_xblock
* Import from lms.djangoapps.lti_provider instead of lti_provider
* Import from lms.djangoapps.mobile_api instead of mobile_api
* Import from lms.djangoapps.rss_proxy instead of rss_proxy
* Import from lms.djangoapps.static_template_view instead of static_template_view
* Import from lms.djangoapps.survey instead of survey
* Import from lms.djangoapps.verify_student instead of verify_student
* Stop suppressing EdxPlatformDeprecatedImportWarnings
2020-11-04 08:48:33 -05:00
Calen Pennington
4a120a9e26 Fix failures caused by removing lms/djangoapps from sys.path 2020-09-23 10:05:37 -04:00
0x29a
921875b70b Add endpoint and background task for downloading of submission files 2020-08-22 01:38:25 +02:00
Kshitij Sobti
2eff127e8d Add support for generating problem response reports for multiple blocks, or filtered block types.
This change adds support for specifying multiple root blocks while generating
problem response reports. It also allows specifying a block type filter so that
only blocks of the filtered types will be included in the report.

Finally, this change also consistenly uses absolute path for the location in the
report instead of relative paths.
2020-08-18 22:28:05 +05:30
Diana Huang
1655ecd063 Remove final shoppingcart references from instructor. 2020-07-08 09:36:43 -04:00
Nimisha Asthagiri
80ea0a61f0 instructor_task: remove shoppingcart (DEPR-43) 2020-06-29 10:28:26 -04:00
Feanil Patel
2df8b8226b Merge pull request #22643 from edx/feanil/2to3_asserts
Run `2to3 -f asserts . -w` on edx-platform.
2019-12-30 12:13:42 -05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
Feanil Patel
70294b0ad2 Run 2to3 -f asserts . -w on edx-platform.
https://docs.python.org/3.5/library/2to3.html#2to3fixer-asserts
2019-12-30 10:22:19 -05:00
Ned Batchelder
efba6e45e8 Finally import courseware properly everywhere to get rid of a warning 2019-09-26 09:40:15 -04:00
Syed Muhammad Dawoud Sheraz Ali
22d3f802f2 Revert "[BB-873] Support for filters, and multiple roots in problem response reports" 2019-08-09 17:17:36 +05:00
David Ormsbee
98deba6ec3 Merge pull request #19781 from open-craft/kshtij/problem-response-multi-root-and-fitler
[BB-873] Support for filters, and multiple roots in problem response reports
2019-08-08 13:36:43 -04:00
Kshitij Sobti
98af7496d7 Add support for generating problem response reports for multiple blocks, or filtered block types.
This change adds support for specifying multiple root blocks while generating
problem response reports. It also allows specifying a block type filter so that
only blocks of the filtered types will be included in the report.

Finally, this change also consistenly uses absolute path for the location in the
report instead of relative paths.
2019-08-08 15:02:46 +05:30
noraiz-anwar
570cd673ef change task_input field's type from CharField to TextField 2019-07-23 17:21:03 +05:00
Stu Young
3b65081fab incr-264 (#20575)
* run python modernize

* run isort

* quality fixes

* quality
2019-05-16 13:39:29 -04:00
Michael Youngstrom
3221c2b91f Remove lms pytest shards 2019-02-12 11:03:46 -05:00
Jeremy Bowman
ca3316962d TE-2524 Stop using nose.plugins - LMS 1 2018-07-31 13:03:18 -04:00
Nimisha Asthagiri
2e9efe6472 Fix Certificates import and signals code 2018-01-19 15:12:28 -05:00
Jeremy Bowman
fd6af6b05e ddt usage cleanup 2017-09-05 17:25:51 -04:00
noraiz-anwar
d1da044520 Throw error if messaging queue is not available 2017-08-03 14:11:25 +05:00
Sanford Student
932776159c EDUCATOR-165 instructor task and UI for overriding learner grades. 2017-07-18 13:51:56 -04:00
Andy Armstrong
79acb5c5be Reorder LMS imports using isort 2017-06-11 21:48:06 -04:00
Nimisha Asthagiri
52069197c7 Correct task_type for other rescore-if-higher admin commands. 2016-10-24 13:43:24 -04:00
Sanford Student
54d34e834d update all references to instructor module 2016-10-12 11:35:02 -04:00
Calen Pennington
bc20a37c2b Simplify how shards are selected in CI 2016-08-03 16:23:02 -04:00
Eric Fischer
a9a3fabfe8 Bulk Email Multiselect (#12301)
TNL-4356

Allows multiple bulk email targets to be specified at once.

-The previous "All" option has been split into "Staff" and "Learners"
-The backend changes made here lay the groundwork for cohort emailing
-The data migration, 0005, is somewhat large and requires deploy attention
-Tests have been updated
-Numerous safe-commit-linter fixes are included
2016-05-26 14:22:04 -04:00
Ben Patterson
b9558a90f1 Create a 3rd explicit shard for unit tests.
More accurately, this creates a 4th shard because the
last shard is always the default.
2016-04-28 10:09:32 -04:00
Syed Hassan Raza
76057fc4d2 semantic task_input for certificate generation ECOM-3505 2016-04-07 09:06:36 -04:00
dylanrhodes
2b1a7eece2 Asynchronous download button for ORA2 data
Conflicts:
	lms/djangoapps/instructor/tests/test_api.py
	lms/djangoapps/instructor/utils.py
	lms/djangoapps/instructor/views/api.py
	lms/djangoapps/instructor/views/api_urls.py
	lms/djangoapps/instructor/views/instructor_dashboard.py
	lms/djangoapps/instructor_task/api.py
	lms/djangoapps/instructor_task/tasks.py
	lms/djangoapps/instructor_task/tasks_helper.py
	lms/djangoapps/instructor_task/tests/test_api.py
	lms/djangoapps/instructor_task/tests/test_tasks.py
	lms/djangoapps/instructor_task/tests/test_tasks_helper.py
	lms/envs/aws.py
	lms/envs/common.py
	lms/static/coffee/src/instructor_dashboard/data_download.coffee
	lms/templates/instructor/instructor_dashboard_2/data_download.html
2016-03-10 09:58:55 -05:00
Ned Batchelder
43ac38aa87 Add autospec to all mocks 2015-12-09 09:44:22 -05:00
Saleem Latif
1e16e873a4 Add Certificate Regeneration history table. 2015-12-04 10:24:02 +05:00
Ned Batchelder
f5d0f3ff55 Remove useless pylint suppressions 2015-11-22 07:41:19 -05:00
Saleem Latif
094ed32176 Added ability to regenerate certificates from Instructor Dashboard 2015-11-10 15:14:55 +05:00
Afzal Wali
5a11f75a48 Add the ability for self-service course survey reports 2015-10-29 13:26:28 -04:00