Completed
Push — master ( 45e0bc...86e229 )
by Vijay
01:19
created

workshop_reminder()   B

Complexity

Conditions 5

Size

Total Lines 28

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 0 Features 2
Metric Value
cc 5
c 3
b 0
f 2
dl 0
loc 28
rs 8.0894
1
from celery import task
2
import datetime
3
from django.core.mail import EmailMessage
4
import os
5
from wye.workshops.models import Workshop
6
7
8
@task
9
def workshop_reminder():
10
    # date after one week to filter out workshops
11
    workshop_date = datetime.date.today() + datetime.timedelta(days=7)
12
    workshops = Workshop.objects.filter(expected_date=workshop_date)
13
    for workshop in workshops:
14
        if workshop.is_active:
15
            presenter_email = list()
16
            requester_email = list()
17
18
            # getting all requesters email
19
            requesters = workshop.requester.user.all()
20
            for requester in requesters:
21
                requester_email.append(requester.email)
22
23
            # getting all presenters email
24
            presenters = workshop.presenter.all()
25
            for presenter in presenters:
26
                presenter_email.append(presenter.email)
27
28
            recipents = presenter_email + requester_email
29
            # modify message according to need
30
            message = "Hi, you have workshop scheduled for {workshop_date}."
31
            email = EmailMessage("[Workshop] Gentle Reminder",
32
                                 message,
33
                                 os.environ.get('EMAIL_HOST_USER', ''),
34
                                 recipents)
35
            email.send()
36