Skip to content

Commit 78db425

Browse files
authored
Fix email and error (#311)
* Switch to mailgun for email handling * Fix bill detail page
1 parent a96bf5e commit 78db425

3 files changed

Lines changed: 13 additions & 4 deletions

File tree

config/settings/production.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,13 @@
8787
# https://anymail.readthedocs.io/en/stable/installation/#installing-anymail
8888
INSTALLED_APPS += ["anymail"]
8989
# https://docs.djangoproject.com/en/dev/ref/settings/#email-backend
90+
# https://anymail.readthedocs.io/en/stable/esps/mailgun/
91+
EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend"
9092
# https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference
91-
# https://anymail.readthedocs.io/en/stable/esps/sendgrid/
92-
EMAIL_BACKEND = "anymail.backends.sendgrid.EmailBackend"
9393
ANYMAIL = {
94-
"SENDGRID_API_KEY": env("SENDGRID_API_KEY"),
94+
"MAILGUN_API_KEY": env("MAILGUN_API_KEY"),
95+
"MAILGUN_SENDER_DOMAIN": env("MAILGUN_DOMAIN"),
96+
"MAILGUN_API_URL": env("MAILGUN_API_URL", default="https://api.mailgun.net/v3"),
9597
}
9698

9799

democrasite/webiscite/tests/test_views.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,13 @@ def test_view_response(self, bill: Bill, rf: RequestFactory):
115115
response = views.bill_detail_view(request, pk=bill.id)
116116
assert response.status_code == HTTPStatus.OK
117117

118+
def test_bill_retrieved(self, rf: RequestFactory):
119+
bills = BillFactory.create_batch(5)
120+
request = rf.get("/fake-url/")
121+
request.user = AnonymousUser()
122+
response = views.bill_detail_view(request, pk=bills[3].id)
123+
assert response.status_code == HTTPStatus.OK
124+
118125
def test_404(self, rf: RequestFactory):
119126
request = rf.get("/fake-url/")
120127
request.user = AnonymousUser()

democrasite/webiscite/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def get_object(self, queryset=None):
100100
return get_object_or_404(
101101
Bill.objects.annotate_user_vote(self.request.user), pk=pk
102102
)
103-
return get_object_or_404(Bill)
103+
return get_object_or_404(Bill, pk=pk)
104104

105105

106106
bill_detail_view = BillDetailView.as_view()

0 commit comments

Comments
 (0)