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)
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)
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
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