def on_new_enrollment_handler(body, message): notification_data = EmailNotificationData.from_json(body['enrollment']) Notification.new(recipient_email=notification_data.to, subject=notification_data.subject, content=notification_data.text, template_type="enrollment", extra_data=notification_data.extra_data, full_data=str(notification_data.to_json()), template_id=CALL_TO_ACTION_SENDGRID_TEMPLATE_ID, categories=json.dumps([ "lms", "enrollment", "new" ]))
def on_account_activation_email(body, message): notification_data = EmailNotificationData.from_json(body['data']) Notification.new(recipient_email=notification_data.to, subject=notification_data.subject, content=notification_data.text, template_type="account", extra_data=notification_data.extra_data, full_data=str(notification_data.to_json()), template_id=CALL_TO_ACTION_SENDGRID_TEMPLATE_ID, categories=json.dumps([ "lms", "account", "activation", ]))
def on_enrollment_reporting_new_xls(body, message): notification_data = EmailNotificationData.from_json(body['report']) template_data = get_new_enrollment_reporting_attachment_data(notification_data) send_email(AvailableEmailServiceProviders.sendgrid, to_emails=[notification_data.to], template_id=ATTACHMENT_EMAIL_SENDGRID_TEMPLATE_ID, template_data=template_data, categories=[ "lms", "enrollment_reporting", "xls", "new" ], attachment=bytes.fromhex(notification_data.extra_data['xls_data']))
def on_certificate_ready_handler(body, message): print(body) notification_data = EmailNotificationData.from_json(body['certificate']) Notification.new(recipient_email=notification_data.to, subject=notification_data.subject, content=notification_data.text, template_type="certificate", extra_data=notification_data.extra_data, full_data=str(notification_data.to_json()), template_id=CALL_TO_ACTION_SENDGRID_TEMPLATE_ID, categories=json.dumps([ "lms", "certificate", "issue", ] ))
def handle(self, *args, **options): certificate_notification_data = EmailNotificationData() certificate_notification_data.to = "*****@*****.**" certificate_notification_data.subject = "Test email" certificate_notification_data.header = "Test {0} Email" certificate_notification_data.text = "Test email {1}" certificate_notification_data.secondary_text = "" certificate_notification_data.c2a_button = "Test" certificate_notification_data.c2a_link = "https://test" certificate_notification_data.signature = "مركز التدريب والتطوير" certificate_notification_data.extra_data = { 'platform_name': "منصة تمكين للتعليم والتدريب الالكتروني", 'course_display_name': "test" } certificate_notification_data.footer_text = "ننصحك بتحميل اخر تحديث لمتصفح الانترنت الذي تستخدمه. للمساعدة، يرجی التواصل مع فريق سلالم من خلال الايقونة الظاهرة في الزاوية السفلی من المنصة" send_email(AvailableEmailServiceProviders.sendgrid, to_emails=[certificate_notification_data.to], template_id=CALL_TO_ACTION_SENDGRID_TEMPLATE_ID, template_data=certificate_notification_data.__dict__, categories=[ "lms", "certificate", "issue", ])