Exemplo n.º 1
0
 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')
Exemplo n.º 2
0
 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')
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)