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