|
6 | 6 | from .models import Poll, Choice, Vote
|
7 | 7 | from .forms import PollAddForm, EditPollForm, ChoiceAddForm
|
8 | 8 | from django.http import HttpResponse
|
9 |
| - |
| 9 | +from django.core.mail import send_mail |
| 10 | +from django.conf import settings # To access your email settings |
10 | 11 |
|
11 | 12 | @login_required()
|
12 | 13 | def polls_list(request):
|
@@ -51,7 +52,6 @@ def dashboard(request):
|
51 | 52 | context = {'poll_data': poll_data}
|
52 | 53 | return render(request, 'polls/dashboard.html', context)
|
53 | 54 |
|
54 |
| - |
55 | 55 | @login_required()
|
56 | 56 | def list_by_user(request):
|
57 | 57 | all_polls = Poll.objects.filter(owner=request.user)
|
@@ -211,8 +211,16 @@ def poll_vote(request, poll_id):
|
211 | 211 | if choice_id:
|
212 | 212 | choice = Choice.objects.get(id=choice_id)
|
213 | 213 | vote = Vote(user=request.user, poll=poll, choice=choice)
|
214 |
| - vote.save() |
215 |
| - print(vote) |
| 214 | + vote.save() |
| 215 | + |
| 216 | + # get poll creator email |
| 217 | + poll_creator_email = poll.owner.email |
| 218 | + # Construct the email |
| 219 | + subject = f'New vote for your poll: {poll.text}' |
| 220 | + message = f'A new vote has been cast for your poll "{poll.text}".' |
| 221 | + # Send the email |
| 222 | + send_mail(subject, message, settings.EMAIL_HOST_USER, [poll_creator_email]) |
| 223 | + |
216 | 224 | return render(request, 'polls/poll_result.html', {'poll': poll})
|
217 | 225 | else:
|
218 | 226 | messages.error(
|
|
0 commit comments