|
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