예제 #1
0
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"
                     ]))
예제 #2
0
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",
                     ]))
예제 #3
0
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']))
예제 #4
0
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",
                   ])