feat: upgrading simple api to drf compatible ( 3rd api ) list_email_content (#35111)
* feat: upgrading simple api to drf compatible.
This commit is contained in:
@@ -2172,23 +2172,35 @@ def list_background_email_tasks(request, course_id):
|
||||
return JsonResponse(response_payload)
|
||||
|
||||
|
||||
@require_POST
|
||||
@ensure_csrf_cookie
|
||||
@cache_control(no_cache=True, no_store=True, must_revalidate=True)
|
||||
@require_course_permission(permissions.EMAIL)
|
||||
def list_email_content(request, course_id):
|
||||
@method_decorator(cache_control(no_cache=True, no_store=True, must_revalidate=True), name='dispatch')
|
||||
class ListEmailContent(APIView):
|
||||
"""
|
||||
List the content of bulk emails sent
|
||||
"""
|
||||
course_id = CourseKey.from_string(course_id)
|
||||
task_type = InstructorTaskTypes.BULK_COURSE_EMAIL
|
||||
# First get tasks list of bulk emails sent
|
||||
emails = task_api.get_instructor_task_history(course_id, task_type=task_type)
|
||||
permission_classes = (IsAuthenticated, permissions.InstructorPermission)
|
||||
permission_name = permissions.EMAIL
|
||||
|
||||
response_payload = {
|
||||
'emails': list(map(extract_email_features, emails)),
|
||||
}
|
||||
return JsonResponse(response_payload)
|
||||
@method_decorator(ensure_csrf_cookie)
|
||||
def post(self, request, course_id):
|
||||
"""
|
||||
List the content of bulk emails sent for a specific course.
|
||||
|
||||
Args:
|
||||
request (HttpRequest): The HTTP request object.
|
||||
course_id (str): The ID of the course for which to list the bulk emails.
|
||||
|
||||
Returns:
|
||||
HttpResponse: A response object containing the list of bulk email contents.
|
||||
"""
|
||||
course_id = CourseKey.from_string(course_id)
|
||||
task_type = InstructorTaskTypes.BULK_COURSE_EMAIL
|
||||
# First get tasks list of bulk emails sent
|
||||
emails = task_api.get_instructor_task_history(course_id, task_type=task_type)
|
||||
|
||||
response_payload = {
|
||||
'emails': list(map(extract_email_features, emails)),
|
||||
}
|
||||
return JsonResponse(response_payload)
|
||||
|
||||
|
||||
class InstructorTaskSerializer(serializers.Serializer): # pylint: disable=abstract-method
|
||||
|
||||
@@ -46,7 +46,7 @@ urlpatterns = [
|
||||
name='mark_student_can_skip_entrance_exam'),
|
||||
path('list_instructor_tasks', api.list_instructor_tasks, name='list_instructor_tasks'),
|
||||
path('list_background_email_tasks', api.list_background_email_tasks, name='list_background_email_tasks'),
|
||||
path('list_email_content', api.list_email_content, name='list_email_content'),
|
||||
path('list_email_content', api.ListEmailContent.as_view(), name='list_email_content'),
|
||||
path('list_forum_members', api.list_forum_members, name='list_forum_members'),
|
||||
path('update_forum_role_membership', api.update_forum_role_membership, name='update_forum_role_membership'),
|
||||
path('send_email', api.send_email, name='send_email'),
|
||||
|
||||
Reference in New Issue
Block a user