Explorar o código

Merged in mk200789/django-hackathon-starter (pull request #22)

instagram login
David Leonard %!s(int64=10) %!d(string=hai) anos
pai
achega
d6aaa1f734

+ 1 - 1
hackathon_starter/hackathon/templates/hackathon/login.html

@@ -34,7 +34,7 @@
           <i class="fa fa-twitter"></i>
           Sign in with Twitter
         </a>
-        <a class="btn btn-block btn-social btn-instagram">
+        <a class="btn btn-block btn-social btn-instagram" href="http://localhost:8000/hackathon/instagram_login/">
           <i class="fa fa-instagram"></i>
           Sign in with Instagram
         </a>

+ 1 - 0
hackathon_starter/hackathon/urls.py

@@ -17,4 +17,5 @@ urlpatterns = patterns('',
     url(r'^snippets/$', views.snippet_list, name='snippets'),
     url(r'^twilio/$', views.twilio, name='twilio'),
     url(r'^instagram/$', views.instagram, name='instagram'),
+    url(r'^instagram_login/$', views.instagram_login, name='instagram_login'),
 )

+ 26 - 2
hackathon_starter/hackathon/views.py

@@ -24,7 +24,7 @@ from rest_framework.renderers import JSONRenderer
 from rest_framework.parsers import JSONParser
 
 # Models
-from hackathon.models import Snippet
+from hackathon.models import Snippet, Profile
 from hackathon.serializers import SnippetSerializer
 from hackathon.forms import UserForm
 
@@ -139,11 +139,31 @@ def tumblr(request):
 ####################
 
 def instagram(request):
-    search_tag = 'kitten'
     code = request.GET['code']
     getInstagram.get_access_token(code)
+
+    if request.user not in User.objects.all():
+        try:  
+            user = User.objects.get(username=getInstagram.user_data['username'] )
+        except User.DoesNotExist:
+            username = getInstagram.user_data['username']
+            new_user = User.objects.create_user(username, username+'@example.com', 'password')
+            new_user.save()
+            profile = Profile()
+            profile.user = new_user
+            profile.oauth_token = getInstagram.client_id
+            profile.oauth_secret = getInstagram.client_secret
+            profile.save()
+
+        user = authenticate(username=getInstagram.user_data['username'], password='password')
+        login(request, user)
+
+    search_tag = 'kitten'
     #return tagged objects
     tagged_media = getInstagram.get_tagged_media(search_tag)
+    #user =  getInstagram.user_data['username']
+    #print User.objects.get(username=user)
+
     context = {'title': 'Instagram', 'tagged_media': tagged_media, 'search_tag': search_tag}
     return render(request, 'hackathon/instagram.html', context)
 
@@ -230,3 +250,7 @@ def user_logout(request):
     logout(request)
     return HttpResponseRedirect('/hackathon/')
 
+
+def instagram_login(request):
+    instagram_url =getInstagram.get_authorize_url()
+    return HttpResponseRedirect(instagram_url)