Пример #1
0
def send(request, email):
    context = {}
    if request.method == 'POST':
        u = User.objects.get(email=email)
        c = Contact(sender=request.user, receiver=u, accepted=False)
        c.save()
        context['message'] = 'Sent!'
        return render(request, 'friends/message.html', context)
    return render(request, 'friends/profile.html', context)
Пример #2
0
def accept(request, email):
    context = {}
    if request.method == 'POST':
        u = User.objects.get(email=email)
        c = Contact.objects.get(sender=u,
                                receiver=request.user,
                                accepted=False)
        c.accepted = True
        c_compliment = Contact(sender=request.user, receiver=u, accepted=True)
        c.save()
        c_compliment.save()
        context['message'] = 'Request accepted.'
        return render(request, 'friends/message.html', context)
    return render(request, 'friends/profile.html', context)
Пример #3
0
def create_contact_from_values(owner=None, type=None, **values):
    created = False
    email = values.get('email')
    if not email:
        return None, False
    try:
        contact = Contact.objects.get(owner=owner, email=email)
    except Contact.DoesNotExist:
        created = True
        contact = Contact(owner=owner, **values)
        try:
            contact.user = User.objects.get(email__iexact=email) 
        except User.DoesNotExist:
            pass
        if type:
            contact.type = type 
        contact.save()
    return contact, created
Пример #4
0
def loadGoogleAB(user) :
    import gdata.auth
    import gdata.contacts.service
    from friends.models import Contact

    try :
        oauth = OAuthStore.objects.get(user = user, source = 'google')
        token = oauth.token
        secret = oauth.secret
    except OAuthStore.DoesNotExist :
        token = None

    client = gdata.contacts.service.ContactsService()

    iparam = gdata.auth.OAuthInputParams(gdata.auth.OAuthSignatureMethod.HMAC_SHA1,
                                   settings.GOOGLE_OAUTH_KEY,
                                   settings.GOOGLE_OAUTH_SECRET)
                                   #extra_parameters = { 'token' : token })

    client.SetOAuthInputParameters(gdata.auth.OAuthSignatureMethod.HMAC_SHA1,
                                   settings.GOOGLE_OAUTH_KEY,
                                   settings.GOOGLE_OAUTH_SECRET)

    ot = gdata.auth.OAuthToken(token,
                               secret,
                               scopes=[client.GetFeedUri()],
                               oauth_input_params=iparam)

    client.SetOAuthToken(ot)

    otoken = client.FetchOAuthRequestToken()

    feed = client.GetContactsFeed()
    data = []

    for entry in feed.entry :
        for em in entry.email :
            try :
                c = Contact(user=user, name=entry.title.text, email=em.address, source='google')
                c.save()
            except :
                # Hopefully duplicate key
                pass