Example #1
0
def api_createuser(request):
    code = 100
    data = {'code':code, 'error': 'Request Error'}
    
    if request.POST:
        if 'name' in request.POST and 'email' in request.POST and 'password' in request.POST:
            name = request.POST['name']
            email_x = request.POST['email']
            password = request.POST['password']
            
            email = email_x.lower()
            
            if validateEmail(email):
                ck_u = User.objects.filter(email=email)
                if len(ck_u) > 0: 
                    existing_user = True
                    code = 100
                    data = {'code':code, 'error': 'User Already Exists'}
                else:
                    existing_user = False
                    u = User(username=email, password=password, email=email)
                    u.save()
                
                    """create invitation"""
                    store = Store.objects.filter(active=True,city='San Francisco')[0]
                    inv = Invitation(user=u, default_store=store, email=u.username, used=True)
                    inv.save()
                    
                    up = UserProfile(user=u, default_store=store)
                    up.save()
                    
                    """create default subscription"""
                    sub = Subscription(userprofile=up, subscription=False, subscription_type='un-subscribed')
                    sub.save()
                    
                    """Send admin email"""
                    sendSignupAdminEmail(u, 'San Francisco')
                    
                    """Send user email"""
                    sendWelcomeEmail(email,'sanfrancisco', 'San Francisco')
                    
                    """subscribe user to daily email"""
                    LIST_IDS = {'san-francisco':'eaa0a378ba'}
                    l_id = LIST_IDS['san-francisco']
                    
                    ms = MailSnake(settings.MAILCHIMP_API_KEY)
                    success = ms.listSubscribe(id=l_id, email_address=u.email, double_optin=False)
                    
                    d, code = api_auth_helper(u)
                    code = 200
                    data = {'code':code, 'account':d['account']}
            else:
                code = 100
                data = {'code':code, 'error': 'Invalid Email'}
        else:
            code = 100
            data = {'code':code, 'error': 'Invalid Sign-up'}
          
    return HttpResponse(simplejson.dumps(data, cls=MyJSONEncoder),content_type = 'application/javascript; charset=utf8')
Example #2
0
def invite_friends(request):
    user = getUser(request)

    if request.POST:
        form = FriendInvitationForm(request.POST)
        if form.is_valid():
            c_email = form.cleaned_data["email"]
            email = c_email.lower()
            token = get_rand_token()

            # Check if new invite is already a user
            ck_u = User.objects.filter(email=email)
            if len(ck_u) > 0:
                error_msg = (
                    "Looks like we already have a user signed up with this email.  Do you have any other friends?"
                )
                messages.add_message(request, messages.INFO, error_msg)
            else:
                new_u = User(username=email, password=token, email=email)
                new_u.save()

                exstng_up = UserProfile.objects.get(user=user)
                ds = exstng_up.default_store
                up = UserProfile(user=new_u, default_store=ds)
                up.save()

                c = ds.city.lower()
                city = c.replace(" ", "")

                # Send invite to friend
                send_invite_email(email, token, city, ds, gift=True, gifter=user.email)

                # Notify admin of new invite
                send_admin_new_invite(new_u, user)

                inv = Invitation(user=new_u, default_store=ds, email=new_u.username, token=token, used=False)
                inv.save()

                invfrnd = FriendInvites(user=user, invitation=inv)
                invfrnd.save()

                # assign new user to subscription
                s_type = "1 month unlimited (friend invite)"
                s = Subscription(userprofile=up, subscription=True, subscription_type=s_type)
                s.save()

                msg = "Invite to %s sent! Don't stop now, keep inviting friends." % email
                messages.add_message(request, messages.INFO, msg)
    else:
        form = FriendInvitationForm()

    invites = FriendInvites.objects.filter(user=user)

    template = "profile/invite_friend.html"
    data = {"form": form, "invites": invites}
    return render_to_response(template, data, context_instance=RequestContext(request))
Example #3
0
def CreateNewUserHelper(request, c_email, c_city):
    email = c_email.lower()
    token = get_rand_token()

    ck_u = User.objects.filter(email=email)
    if len(ck_u) > 0:
        existing_user = True
    else:
        existing_user = False
        u = User(username=email, password=token, email=email)
        u.save()

        """create invitation"""
        store = Store.objects.filter(active=True, city="San Francisco")[0]
        inv = Invitation(user=u, default_store=store, email=u.username, token=token, used=False)
        inv.save()

        # save in session
        request.session["user"] = base64.b16encode(str(u.id))

        CITY_LIST = {"san-francisco": "San Francisco"}
        cl_city = CITY_LIST[c_city]

        up = UserProfile(user=u, default_store=store)
        up.save()

        """create default subscription"""
        sub = Subscription(userprofile=up, subscription=False, subscription_type="un-subscribed")
        sub.save()

        """Send admin email"""
        sendSignupAdminEmail(u, cl_city)

        """Send welcome email to new user"""
        c = cl_city.lower()
        city = c.replace(" ", "")
        sendWelcomeEmail(email, token, city, cl_city)

        """subscribe user to daily email"""
        LIST_IDS = {"san-francisco": "eaa0a378ba"}
        l_id = LIST_IDS[c_city]

        ms = MailSnake(settings.MAILCHIMP_API_KEY)
        success = ms.listSubscribe(id=l_id, email_address=u.email, double_optin=False)
Example #4
0
def admin_invite(request):
    if request.POST:
        form = InvitationForm(request.POST)
        if form.is_valid():
            c_email = form.cleaned_data["email"]
            email = c_email.lower()
            token = get_rand_token()

            u = User(username=email, password=token, email=email)
            u.save()

            store = form.cleaned_data["store"]
            up = UserProfile(user=u, default_store=store)
            up.save()

            """create default subscription"""
            sub = Subscription(userprofile=up, subscription=False, subscription_type="un-subscribed")
            sub.save()

            c = store.city.lower()
            city = c.replace(" ", "")
            send_invite_email(email, token, city, store)

            inv = Invitation(user=u, default_store=store, email=u.username, token=token, used=False)
            inv.save()

            """subscrbe user to daily email"""
            LIST_IDS = {"sflaunch_group": "eaa0a378ba"}
            l_id = LIST_IDS["sflaunch_group"]

            ms = MailSnake(settings.MAILCHIMP_API_KEY)
            success = ms.listSubscribe(id=l_id, email_address=u.email, double_optin=False)

    else:
        form = InvitationForm()

    invites = Invitation.objects.all()

    template = "profile/admin/admin_invite.html"
    data = {"form": form, "invites": invites}

    return render_to_response(template, data, context_instance=RequestContext(request))