def handle_new_signups( ):
    """ Send welcome email to new users.
        Add them to a general mailing list. 
        Update db when done. """
    signups = db.UserSignup.objects.filter(date_tasks_handled__isnull=True, date_deleted__isnull=True)[:500]
    while len(signups):
        emails.send_welcome_emails([signup.email for signup in signups])
        for signup in signups:
            add_user_to_global_list(signup.email, signup.sequence)
            #make sure new signups aren't in the mailgun blocked list
            mailgun_api.delete_all_unsubscribes(signup.email)

        db.UserSignup.objects.filter(id__in=signups.values('id')).update(date_tasks_handled=datetime.utcnow())
        signups = db.UserSignup.objects.filter(date_tasks_handled__isnull=True, date_deleted__isnull=True)[:500]
Exemple #2
0
def handle_new_signups():
    """ Send welcome email to new users.
        Add them to a general mailing list. 
        Update db when done. """
    signups = db.UserSignup.objects.filter(date_tasks_handled__isnull=True,
                                           date_deleted__isnull=True)[:500]
    while len(signups):
        emails.send_welcome_emails([signup.email for signup in signups])
        for signup in signups:
            add_user_to_global_list(signup.email)
            #make sure new signups aren't in the mailgun blocked list
            mailgun_api.delete_all_unsubscribes(signup.email)

        db.UserSignup.objects.filter(id__in=signups.values('id')).update(
            date_tasks_handled=datetime.utcnow())
        signups = db.UserSignup.objects.filter(date_tasks_handled__isnull=True,
                                               date_deleted__isnull=True)[:500]
Exemple #3
0
def unsubscribe_user(address):
    """ Unsubscribe user completely from the Mechanical Mooc - all sequences
    """

    # remove from sequence group
    signups = signup_model.get_all_user_signups(address)
    for user_signup in signups:
        sequence_list = sequence_model.sequence_list_name(user_signup["sequence"])
        mailgun_api.remove_list_member(sequence_list, address)

    # remove from small groups
    groups = groups_model.get_member_groups(address)
    for group in groups:
        groups_model.remove_group_member(group["uri"], address)
        groups_model.sync_group_with_mailgun(group["uri"])

    # mark as unsubscribed in the signups
    for user_signup in signups:
        signup_model.delete_signup(address, user_signup["sequence"])

    mailgun_api.delete_all_unsubscribes(address)
def unsubscribe_user(address):
    """ Unsubscribe user completely from the Mechanical Mooc - all sequences
    """

    # remove from sequence group
    signups = signup_model.get_all_user_signups(address)
    for user_signup in signups:
        sequence_list = sequence_model.sequence_list_name(
            user_signup['sequence'])
        mailgun_api.remove_list_member(sequence_list, address)

    # remove from small groups
    groups = groups_model.get_member_groups(address)
    for group in groups:
        groups_model.remove_group_member(group['uri'], address)
        groups_model.sync_group_with_mailgun(group['uri'])

    # mark as unsubscribed in the signups
    for user_signup in signups:
        signup_model.delete_signup(address, user_signup['sequence'])

    mailgun_api.delete_all_unsubscribes(address)