From bf8d040d506e138effece57df17c9e2ec13c1d56 Mon Sep 17 00:00:00 2001 From: Chif Gergo <chifgeri97@gmail.com> Date: Mon, 15 Jan 2018 11:43:58 +0100 Subject: [PATCH] Login resz nagyjabol meg van profile create neven, ezen kivul az elkeszult profilt meg lehet nezni. --- src/account/serializers.py | 32 ++++++++++++++++++++++++++++++++ src/account/urls.py | 3 ++- src/account/views.py | 8 +++++++- 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/src/account/serializers.py b/src/account/serializers.py index 9dded68..41b4438 100644 --- a/src/account/serializers.py +++ b/src/account/serializers.py @@ -84,3 +84,35 @@ class ProfileUpdateSerializer(serializers.ModelSerializer): pref_group=pref_group, ) profile_obj.save() + + +class ProfileDetailSerializer(serializers.ModelSerializer): + def current_user(self): + user = self.context['request'].user + return user + + first_name = serializers.SerializerMethodField() + last_name = serializers.SerializerMethodField() + email = serializers.SerializerMethodField() + + class Meta: + model = Profile + fields = [ + 'first_name', + 'last_name', + 'email', + 'nick', + 'pref_group', + ] + + def get_first_name(self): + user = self.current_user() + return user.first_name + + def get_last_name(self): + user = self.ccurrent_user() + return user.last_name + + def get_email(self): + user = self.ccurrent_user() + return user.email diff --git a/src/account/urls.py b/src/account/urls.py index 347aecb..691b51e 100644 --- a/src/account/urls.py +++ b/src/account/urls.py @@ -7,6 +7,7 @@ router = routers.DefaultRouter(trailing_slash=False) router.register(r'profiles', views.ProfileViewSet) urlpatterns = [ url(r'^profiles/create', views.ProfileCreateView.as_view()), - url(r'^profiles/update/<pk>', views.ProfileUpdateView.as_view()) + url(r'^profiles/(?P<pk>\d+)/$', views.ProfileDetailView.as_view()), + url(r'^profiles/(?P<pk>\d+)/update/$', views.ProfileUpdateView.as_view()), ] urlpatterns += router.urls diff --git a/src/account/views.py b/src/account/views.py index e4f226b..e87ad71 100644 --- a/src/account/views.py +++ b/src/account/views.py @@ -11,7 +11,13 @@ class ProfileCreateView(generics.CreateAPIView): permission_classes = [IsAuthenticated, ] -class ProfileUpdateView(generics.RetrieveAPIView): +class ProfileDetailView(generics.RetrieveAPIView): + serializer_class = serializers.ProfileDetailSerializer + queryset = models.Profile.objects.all() + permission_classes = [IsAuthenticated, ] + + +class ProfileUpdateView(generics.RetrieveUpdateAPIView): serializer_class = serializers.ProfileUpdateSerializer queryset = models.Profile.objects.all() permission_classes = [IsAuthenticated, ] -- GitLab