Update registration for api auth
This commit is contained in:
parent
44ffe4577f
commit
e2e2e0b0bf
0
ofu_app/apps/registration/api/__init__.py
Normal file
0
ofu_app/apps/registration/api/__init__.py
Normal file
53
ofu_app/apps/registration/api/serializers.py
Normal file
53
ofu_app/apps/registration/api/serializers.py
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
from rest_framework import serializers
|
||||||
|
from django.contrib.auth.models import User
|
||||||
|
from apps.food.models import UserFoodRating, UserFoodImage, UserFoodComment, SingleFood, FoodImage
|
||||||
|
|
||||||
|
|
||||||
|
class FoodImageSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = FoodImage
|
||||||
|
fields = ('image', 'thumb')
|
||||||
|
|
||||||
|
|
||||||
|
class UserFoodImageSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
image = FoodImageSerializer(many=False, read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = UserFoodImage
|
||||||
|
fields = ('id', 'image')
|
||||||
|
|
||||||
|
|
||||||
|
class SingleFoodSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = SingleFood
|
||||||
|
fields = ('id', 'name')
|
||||||
|
|
||||||
|
|
||||||
|
class UserFoodImagesSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
food = SingleFoodSerializer(many=False, read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = UserFoodImage
|
||||||
|
fields = ('id', 'food', 'image_image', 'image_thumb')
|
||||||
|
|
||||||
|
|
||||||
|
class UserRatingSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
food = SingleFoodSerializer(many=False, read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = UserFoodRating
|
||||||
|
fields = ('id', 'food', 'rating')
|
||||||
|
|
||||||
|
|
||||||
|
class UserCommentsSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
food = SingleFoodSerializer(many=False, read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = UserFoodComment
|
||||||
|
fields = ('id', 'food', 'comment')
|
||||||
|
|
||||||
|
|
||||||
|
class UserInformationSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = User
|
||||||
|
fields = ('id', 'username', 'first_name', 'last_name', 'email', 'date_joined', 'last_login')
|
||||||
26
ofu_app/apps/registration/api/urls.py
Normal file
26
ofu_app/apps/registration/api/urls.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
"""ofu_app URL Configuration
|
||||||
|
|
||||||
|
The `urlpatterns` list routes URLs to views. For more information please see:
|
||||||
|
https://docs.djangoproject.com/en/1.11/topics/http/urls/
|
||||||
|
Examples:
|
||||||
|
Function views
|
||||||
|
1. Add an import: from my_app import views
|
||||||
|
2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')
|
||||||
|
Class-based views
|
||||||
|
1. Add an import: from other_app.views import Home
|
||||||
|
2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')
|
||||||
|
Including another URLconf
|
||||||
|
1. Import the include() function: from django.conf.urls import url, include
|
||||||
|
2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))
|
||||||
|
"""
|
||||||
|
from django.conf.urls import url
|
||||||
|
from apps.registration.api import views as api_views
|
||||||
|
from apps.food.models import Menu
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
# API Version 1.1
|
||||||
|
url(r'^account/$', api_views.UserInformations.as_view(), name='api-v1_1-user-information'),
|
||||||
|
url(r'^account/food/rating/$', api_views.UserRatings.as_view(), name='api-v1_1-user-rating'),
|
||||||
|
url(r'^account/food/pic/$', api_views.UserImages.as_view(), name='api-v1_1-user-image'),
|
||||||
|
url(r'^account/food/comment/$', api_views.UserComments.as_view(), name='api-v1_1-user-comment'),
|
||||||
|
]
|
||||||
44
ofu_app/apps/registration/api/views.py
Normal file
44
ofu_app/apps/registration/api/views.py
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from apps.food.models import UserFoodComment, UserFoodImage, UserFoodRating
|
||||||
|
from apps.registration.api.serializers import UserInformationSerializer, UserRatingSerializer, UserFoodImageSerializer, \
|
||||||
|
UserCommentsSerializer
|
||||||
|
from rest_framework import generics
|
||||||
|
from rest_framework.decorators import permission_classes
|
||||||
|
from rest_framework.permissions import IsAuthenticated
|
||||||
|
|
||||||
|
|
||||||
|
@permission_classes((IsAuthenticated,))
|
||||||
|
class UserInformations(generics.ListAPIView):
|
||||||
|
serializer_class = UserInformationSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
return [self.request.user]
|
||||||
|
|
||||||
|
|
||||||
|
@permission_classes((IsAuthenticated,))
|
||||||
|
class UserRatings(generics.ListAPIView):
|
||||||
|
serializer_class = UserRatingSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
user = self.request.user
|
||||||
|
return UserFoodRating.objects.filter(user=user).order_by('food__name')
|
||||||
|
|
||||||
|
|
||||||
|
@permission_classes((IsAuthenticated,))
|
||||||
|
class UserImages(generics.ListAPIView):
|
||||||
|
serializer_class = UserFoodImageSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
user = self.request.user
|
||||||
|
return UserFoodImage.objects.filter(user=user).order_by('food__name')
|
||||||
|
|
||||||
|
|
||||||
|
@permission_classes((IsAuthenticated,))
|
||||||
|
class UserComments(generics.ListAPIView):
|
||||||
|
serializer_class = UserCommentsSerializer
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
user = self.request.user
|
||||||
|
return UserFoodComment.objects.filter(user=user).order_by('food__name')
|
||||||
@ -8,4 +8,5 @@ urlpatterns = [
|
|||||||
url(r'^account_activation_sent/$', core_views.account_activation_sent, name='account_activation_sent'),
|
url(r'^account_activation_sent/$', core_views.account_activation_sent, name='account_activation_sent'),
|
||||||
url(r'^activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
|
url(r'^activate/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
|
||||||
core_views.activate, name='activate'),
|
core_views.activate, name='activate'),
|
||||||
|
url(r'^signup/$', core_views.signup, name='signup'),
|
||||||
]
|
]
|
||||||
|
|||||||
@ -11,7 +11,7 @@ from django.utils.encoding import force_text
|
|||||||
from django.utils.http import urlsafe_base64_decode
|
from django.utils.http import urlsafe_base64_decode
|
||||||
from django.core.mail import send_mail
|
from django.core.mail import send_mail
|
||||||
from django.shortcuts import HttpResponse, redirect
|
from django.shortcuts import HttpResponse, redirect
|
||||||
from apps.food.models import UserRating, UserFoodImage
|
from apps.food.models import UserFoodRating, UserFoodImage
|
||||||
|
|
||||||
|
|
||||||
def signup(request):
|
def signup(request):
|
||||||
@ -22,7 +22,7 @@ def signup(request):
|
|||||||
user.is_active = False
|
user.is_active = False
|
||||||
user.save()
|
user.save()
|
||||||
current_site = request.META['HTTP_HOST']
|
current_site = request.META['HTTP_HOST']
|
||||||
subject = 'Activate Your MySite Account'
|
subject = 'Activate Your BaStA Account'
|
||||||
message = render_to_string('registration/account_activation_email.jinja', {
|
message = render_to_string('registration/account_activation_email.jinja', {
|
||||||
'user': user,
|
'user': user,
|
||||||
'domain': current_site,
|
'domain': current_site,
|
||||||
@ -64,7 +64,7 @@ def account_view(request):
|
|||||||
if request.user.is_authenticated:
|
if request.user.is_authenticated:
|
||||||
user = request.user
|
user = request.user
|
||||||
|
|
||||||
food_ratings = UserRating.objects.filter(user=user).order_by('food__name')
|
food_ratings = UserFoodRating.objects.filter(user=user).order_by('food__name')
|
||||||
food_images = UserFoodImage.objects.filter(user=user.id)
|
food_images = UserFoodImage.objects.filter(user=user.id)
|
||||||
print(food_images)
|
print(food_images)
|
||||||
|
|
||||||
|
|||||||
@ -1,10 +1,14 @@
|
|||||||
django==2.0.1
|
django==2.0.1
|
||||||
django-jinja==2.4.1
|
django-jinja==2.4.1
|
||||||
django-rest-framework==0.1.0
|
django-rest-framework==0.1.0
|
||||||
|
#django-rest-auth==0.9.3
|
||||||
|
#djangorestframework-jwt==1.11.0
|
||||||
|
#django-allauth==0.35.0
|
||||||
django-analytical==2.4.0
|
django-analytical==2.4.0
|
||||||
requests==2.18.4
|
requests==2.18.4
|
||||||
beautifulsoup4==4.6.0
|
beautifulsoup4==4.6.0
|
||||||
#psycopg2==2.7.3.2
|
#psycopg2==2.7.3.2
|
||||||
xmltodict==0.11.0
|
xmltodict==0.11.0
|
||||||
coverage==3.6
|
coverage==3.6
|
||||||
|
django-cors-headers
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user