def post(self): email = cgi.escape(self.request.get('email')) mailchimp = PyChimp(settings.MAILCHIMP_KEY) try: mailchimp.listSubscribe(settings.MAILCHIMP_LIST, email, {'FIRST': '', 'LAST': ''}) self.redirect('/?subscribe=success') except: self.redirect('/?subscribe=failed')
def post(self): email = cgi.escape(self.request.get('email')) mailchimp = PyChimp(settings.MAILCHIMP_KEY) try: mailchimp.listSubscribe(settings.MAILCHIMP_LIST, email, { 'FIRST': '', 'LAST': '' }) self.redirect('/?subscribe=success') except: self.redirect('/?subscribe=failed')
def manage_mailchimp_subscriptions(request): ''' - creates a simple form allowing people to un/subscribe to/from mailchimp lists - this is an ssi in the template in case mailchimp delays or problems, don't want their stuff slowing or crashing our stuff ''' context = RequestContext(request) manange_mailchimp_form = ManageMailchimpSubscriptionForm(request) notification = None errors = None redirect_path = request.GET.get('parent') if request.POST: manange_mailchimp_form = ManageMailchimpSubscriptionForm(request, request.POST) if manange_mailchimp_form.is_valid(): mailchimp_api = PyChimp('3cb8530ce9770dc992d48f579b6bb09a-us1') announce_new_status = manange_mailchimp_form.cleaned_data["announce_subscribe_checkbox"] announce_old_status = manange_mailchimp_form.cleaned_data["announce_subscribed_status"] announce_form_mchimp_list = manange_mailchimp_form.cleaned_data["announce_mailchimp_list"] news_new_status = manange_mailchimp_form.cleaned_data["news_subscribe_checkbox"] news_old_status = manange_mailchimp_form.cleaned_data["news_subscribed_status"] news_form_mchimp_list = manange_mailchimp_form.cleaned_data["news_mailchimp_list"] if announce_old_status != announce_new_status or news_new_status != news_old_status: mailchimp_api = PyChimp('3cb8530ce9770dc992d48f579b6bb09a-us1') mchimp_lists = mailchimp_api.lists() for mchimp_list in mchimp_lists: if mchimp_list["name"] == announce_form_mchimp_list: #user_info = mailchimp_api.listMemberInfo(mchimp_list["id"], request.user.email) if request.user.first_name: merge_vars = {"FNAME": request.user.first_name, "LNAME": request.user.last_name} else: if announce_form_mchimp_list == "Rhizome Users Announcements": merge_vars = {"FNAME": "Rhizome", "LNAME": "Member"} if announce_form_mchimp_list == "Rhizome Members Announcements": merge_vars = {"FNAME": "Rhizome", "LNAME": "Friend"} if announce_new_status == True: # subscribe request mailchimp_api.listSubscribe(mchimp_list["id"], request.user.email, merge_vars, email_type='html', double_optin=False, update_existing=False, replace_interests=True, send_welcome=True) if announce_new_status == False: # unsubscribe request mailchimp_api.listUnsubscribe(mchimp_list["id"], request.user.email, delete_member=False, send_goodbye=True, send_notify=True) if mchimp_list["name"] == news_form_mchimp_list: #user_info = mailchimp_api.listMemberInfo(mchimp_list["id"], request.user.email) if request.user.get_full_name(): merge_vars = {"FNAME": request.user.first_name, "LNAME": request.user.last_name} elif request.user.first_name: merge_vars = {"FNAME": request.user.first_name, "LNAME": None} else: merge_vars = {"FNAME": request.user.username, "LNAME": None} if news_new_status == True: # subscribe request mailchimp_api.listSubscribe(mchimp_list["id"], request.user.email, merge_vars, email_type='html', double_optin=False, update_existing=False, replace_interests=True, send_welcome=True) if news_new_status == False: # unsubscribe request mailchimp_api.listUnsubscribe(mchimp_list["id"], request.user.email, delete_member=False, send_goodbye=True, send_notify=True) else: errors = manange_mailchimp_form.errors return HttpResponseRedirect("/profiles/edit?updated=True&errors=%s" % errors) d= {"form":manange_mailchimp_form} return render_to_response("accounts/forms/manage_mailchimp_subscriptions.html", d, context)
def manage_mailchimp_subscriptions(request): ''' - creates a simple form allowing people to un/subscribe to/from mailchimp lists - this is an ssi in the template in case mailchimp delays or problems, don't want their stuff slowing or crashing our stuff ''' context = RequestContext(request) manange_mailchimp_form = ManageMailchimpSubscriptionForm(request) notification = None errors = None redirect_path = request.GET.get('parent') if request.POST: manange_mailchimp_form = ManageMailchimpSubscriptionForm(request, request.POST) if manange_mailchimp_form.is_valid(): mailchimp_api = PyChimp('3cb8530ce9770dc992d48f579b6bb09a-us1') announce_new_status = manange_mailchimp_form.cleaned_data["announce_subscribe_checkbox"] announce_old_status = manange_mailchimp_form.cleaned_data["announce_subscribed_status"] announce_form_mchimp_list = manange_mailchimp_form.cleaned_data["announce_mailchimp_list"] news_new_status = manange_mailchimp_form.cleaned_data["news_subscribe_checkbox"] news_old_status = manange_mailchimp_form.cleaned_data["news_subscribed_status"] news_form_mchimp_list = manange_mailchimp_form.cleaned_data["news_mailchimp_list"] if announce_old_status != announce_new_status or news_new_status != news_old_status: mailchimp_api = PyChimp('3cb8530ce9770dc992d48f579b6bb09a-us1') mchimp_lists = mailchimp_api.lists() for mchimp_list in mchimp_lists: if mchimp_list["name"] == announce_form_mchimp_list: #user_info = mailchimp_api.listMemberInfo(mchimp_list["id"], request.user.email) if request.user.first_name: merge_vars = {"FNAME": request.user.first_name, "LNAME": request.user.last_name} else: if announce_form_mchimp_list == "Rhizome Users Announcements": merge_vars = {"FNAME": "Rhizome", "LNAME": "Member"} if announce_form_mchimp_list == "Rhizome Members Announcements": merge_vars = {"FNAME": "Rhizome", "LNAME": "Friend"} if announce_new_status == True: # subscribe request mailchimp_api.listSubscribe(mchimp_list["id"], request.user.email, merge_vars, email_type='html', double_optin=False, update_existing=False, replace_interests=True, send_welcome=True) if announce_new_status == False: # unsubscribe request mailchimp_api.listUnsubscribe(mchimp_list["id"], request.user.email, delete_member=False, send_goodbye=True, send_notify=True) if mchimp_list["name"] == news_form_mchimp_list: #user_info = mailchimp_api.listMemberInfo(mchimp_list["id"], request.user.email) if request.user.get_full_name(): merge_vars = {"FNAME": request.user.first_name, "LNAME": request.user.last_name} elif request.user.first_name: merge_vars = {"FNAME": request.user.first_name, "LNAME": None} else: merge_vars = {"FNAME": request.user.username, "LNAME": None} if news_new_status == True: # subscribe request mailchimp_api.listSubscribe(mchimp_list["id"], request.user.email, merge_vars, email_type='html', double_optin=False, update_existing=False, replace_interests=True, send_welcome=True) if news_new_status == False: # unsubscribe request mailchimp_api.listUnsubscribe(mchimp_list["id"], request.user.email, delete_member=False, send_goodbye=True, send_notify=True) else: errors = manange_mailchimp_form.errors return HttpResponseRedirect("/profiles/edit?updated=True&errors=%s" % errors) d= {"form":manange_mailchimp_form} return render_to_response("accounts/forms/manage_mailchimp_subscriptions.html", d, context)