You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement a way for Birdsong to accept mailing list (campaign) subscriptions from frontend.
Implemented the following:
create subscribe form template tag (birdsong_subscribe_form)
implement /subscribe endpoint that will accept raw form submission requests
implement /subscribe_api endpoint that will accept (ajax) json form submission requests
prevent duplicate contact creation
implement robust error handling to:
guard against xss and sql injections
utilize Django's and browser's built-in email field validation
implement token /activate endpoint
send subscription activation urls using BIRDSONG_BACKEND
write unit tests
write a Subscribe form README section to:
demonstrate how to use the new birdsong_subscribe_form template tag
list and explain various new subscribe form related settings
Decided not to implement the following (yet):
✘ provide pre / post validation / form submission hooks (both for python and js)
✘ implement a Turing test (let devs choose between reCaptcha and hCaptcha)
✘ implement a 3rd party free opensource API email verification
NOTE:
existing birdsong contacts will be automatically activated upon db migration
changed birdsong_contact email field to be unique to prevent duplicate subscriptions
bumped up version of Birdsong to v1.2.0 (since this is potentially a db breaking change)
redefined BaseEmailBackend as an abstract class with two abstract methods (send_campaign() and send_mail())
implemented send_mail() in smtp.py birdsong backend
bumped up version of Birdsong to v1.2.0 (since this is potentially a breaking change for custom backends)
The text was updated successfully, but these errors were encountered:
david-smejkal
added a commit
to david-smejkal/wagtail-birdsong
that referenced
this issue
Mar 13, 2023
Goal
Implement a way for Birdsong to accept mailing list (campaign) subscriptions from frontend.
Implemented the following:
birdsong_subscribe_form
)/subscribe
endpoint that will accept raw form submission requests/subscribe_api
endpoint that will accept (ajax) json form submission requests/activate
endpointBIRDSONG_BACKEND
Subscribe form
README section to:birdsong_subscribe_form
template tagDecided not to implement the following (yet):
✘ provide pre / post validation / form submission hooks (both for python and js)
✘ implement a Turing test (let devs choose between reCaptcha and hCaptcha)
✘ implement a 3rd party free opensource API email verification
NOTE:
birdsong_contact
email field to be unique to prevent duplicate subscriptionsBaseEmailBackend
as an abstract class with two abstract methods (send_campaign()
andsend_mail()
)send_mail()
insmtp.py
birdsong backendThe text was updated successfully, but these errors were encountered: