openedx.core.djangoapps.notifications.email package#
Submodules#
openedx.core.djangoapps.notifications.email.message_type module#
Email notifications MessageType
openedx.core.djangoapps.notifications.email.notification_icons module#
Notification Icons
- class openedx.core.djangoapps.notifications.email.notification_icons.NotificationTypeIcons#
Bases:
objectNotification Mapping with icons
- CHECK_CIRCLE_GREEN = 'CHECK_CIRCLE_GREEN'#
- HELP_OUTLINE = 'HELP_OUTLINE'#
- NEWSPAPER = 'NEWSPAPER'#
- POST_OUTLINE = 'POST_OUTLINE'#
- QUESTION_ANSWER_OUTLINE = 'QUESTION_ANSWER_OUTLINE'#
- REPORT_RED = 'REPORT_RED'#
- VERIFIED = 'VERIFIED'#
- classmethod get_icon_name_for_notification_type(notification_type, default='POST_OUTLINE')#
Returns icon name for notification type
- classmethod get_icon_url_for_notification_type(notification_type)#
Returns icon url for notification type
openedx.core.djangoapps.notifications.email.tasks module#
Celery tasks for sending email notifications
- openedx.core.djangoapps.notifications.email.tasks.get_audience_for_cadence_email(cadence_type)#
Returns users that are eligible to receive cadence email
- openedx.core.djangoapps.notifications.email.tasks.get_user_preferences_for_courses(course_ids, user)#
Returns updated user preference for course_ids
- openedx.core.djangoapps.notifications.email.tasks.send_digest_email_to_user(user, cadence_type, course_language='en', courses_data=None)#
Send [cadence_type] email to user. Cadence Type can be EmailCadence.DAILY or EmailCadence.WEEKLY
openedx.core.djangoapps.notifications.email.utils module#
Email Notifications Utils
- openedx.core.djangoapps.notifications.email.utils.add_additional_attributes_to_notifications(notifications, courses_data=None)#
Add attributes required for email content to notification instance notifications: list[Notification] course_data: Cache course info
- openedx.core.djangoapps.notifications.email.utils.create_app_notifications_dict(notifications)#
Return a dictionary with notification app as key and title, count and notifications as its value
- openedx.core.djangoapps.notifications.email.utils.create_datetime_string(datetime_instance)#
Returns string for datetime object
- openedx.core.djangoapps.notifications.email.utils.create_email_digest_context(app_notifications_dict, start_date, end_date=None, digest_frequency='Daily', courses_data=None)#
Creates email context based on content app_notifications_dict: Mapping of notification app and its count, title and notifications start_date: datetime instance end_date: datetime instance digest_frequency: EmailCadence.DAILY or EmailCadence.WEEKLY courses_data: Dictionary to cache course info (avoid additional db calls)
- openedx.core.djangoapps.notifications.email.utils.create_email_template_context()#
Creates email context for header and footer
- openedx.core.djangoapps.notifications.email.utils.filter_notification_with_email_enabled_preferences(notifications, preferences, cadence_type='Daily')#
Filter notifications for types with email cadence preference enabled
- openedx.core.djangoapps.notifications.email.utils.get_course_info(course_key)#
Returns course info for course_key
- openedx.core.djangoapps.notifications.email.utils.get_enabled_notification_types_for_cadence(preferences, cadence_type='Daily')#
Returns a dictionary that returns notification_types with cadence_types for course_ids
- openedx.core.djangoapps.notifications.email.utils.get_icon_url_for_notification_type(notification_type)#
Returns icon url for notification type
- openedx.core.djangoapps.notifications.email.utils.get_start_end_date(cadence_type)#
Returns start_date and end_date for email digest
- openedx.core.djangoapps.notifications.email.utils.get_time_ago(datetime_obj)#
Returns time_ago for datetime instance
- openedx.core.djangoapps.notifications.email.utils.get_unique_course_ids(notifications)#
Returns unique course_ids from notifications
- openedx.core.djangoapps.notifications.email.utils.is_email_notification_flag_enabled(user=None)#
Returns if waffle flag is enabled for user or not