diff --git a/website/classes.py b/website/classes.py index 59487aa3a27..8787fda5390 100644 --- a/website/classes.py +++ b/website/classes.py @@ -1,3 +1,4 @@ +import json import uuid from flask import make_response, redirect, request, session @@ -49,6 +50,27 @@ def create_class(self, user): "name": body["name"], } + # from auth, where we also use this for mailinglist subscriptions + + import os + + from .auth import MAILCHIMP_API_URL, MAILCHIMP_API_HEADERS + + import requests + import hashlib + + subscriber = user["email"].encode('utf-8') + subscriber_hash = hashlib.md5(subscriber).hexdigest() + + # mailchimp docs: https://mailchimp.com/developer/marketing/api/list-member-tags/add-or-remove-member-tags/ + + request_body = {"tags": [{"name": "class_created", "status": "active"}]} + try: + r = requests.post(MAILCHIMP_API_URL + f"/members/{subscriber_hash}/tags", + headers=MAILCHIMP_API_HEADERS, data=json.dumps(request_body)) + except Exception as E: + pass + self.db.store_class(Class) response = {"id": Class["id"]} return make_response(response, 200)