From ade7698c9691b50e4fa8ffac50883f2dd0e1d310 Mon Sep 17 00:00:00 2001
From: Chif Gergo <chifgeri97@gmail.com>
Date: Sat, 23 Dec 2017 14:02:51 +0100
Subject: [PATCH] Profil model kiegeszitese create view elkezdve

---
 src/account/migrations/0003_profile_nick.py   | 20 +++++++++++++++++++
 src/account/migrations/0004_profile_signed.py | 20 +++++++++++++++++++
 src/account/models.py                         |  4 +++-
 src/account/serializers.py                    | 13 ++++++++++++
 src/account/urls.py                           |  7 +++++--
 src/account/views.py                          |  9 ++++++++-
 src/kszkepzes/urls.py                         |  1 +
 7 files changed, 70 insertions(+), 4 deletions(-)
 create mode 100644 src/account/migrations/0003_profile_nick.py
 create mode 100644 src/account/migrations/0004_profile_signed.py

diff --git a/src/account/migrations/0003_profile_nick.py b/src/account/migrations/0003_profile_nick.py
new file mode 100644
index 0000000..7a35427
--- /dev/null
+++ b/src/account/migrations/0003_profile_nick.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.5 on 2017-12-23 11:06
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('account', '0002_auto_20171114_2144'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='profile',
+            name='nick',
+            field=models.CharField(blank=True, max_length=15, null=True),
+        ),
+    ]
diff --git a/src/account/migrations/0004_profile_signed.py b/src/account/migrations/0004_profile_signed.py
new file mode 100644
index 0000000..4244073
--- /dev/null
+++ b/src/account/migrations/0004_profile_signed.py
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.5 on 2017-12-23 11:10
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('account', '0003_profile_nick'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='profile',
+            name='signed',
+            field=models.BooleanField(default=False),
+        ),
+    ]
diff --git a/src/account/models.py b/src/account/models.py
index 6b0bb79..2524e6d 100644
--- a/src/account/models.py
+++ b/src/account/models.py
@@ -5,7 +5,7 @@ import datetime
 
 
 class Profile(models.Model):
-    join_date = models.DateField()
+    join_date = models.DateField(auto_now=True)
     user = models.OneToOneField(User, on_delete=models.CASCADE)
     TEAMS = (
         ('DT', 'DevTeam'),
@@ -16,6 +16,8 @@ class Profile(models.Model):
         ('N', 'None'),
     )
     pref_group = models.CharField(max_length=10, choices=TEAMS, default='None')
+    nick = models.CharField(max_length=15, blank=True, null=True)
+    signed = models.BooleanField(default=False, null=False)
     # Homeworks=models.ForeignKey(Homework)
 
     def __str__(self):
diff --git a/src/account/serializers.py b/src/account/serializers.py
index 62021e9..fd724fb 100644
--- a/src/account/serializers.py
+++ b/src/account/serializers.py
@@ -6,3 +6,16 @@ class ProfileSerializer(serializers.ModelSerializer):
     class Meta:
         model = models.Profile
         fields = '__all__'
+
+
+class ProfileCreateSerializer(serializers.ModelSerializer):
+    class Meta:
+        model = models.Profile
+        fields = [
+                'user.username',
+                'nick',
+                'pref_group',
+                'signed',
+                  ]
+
+    # def create(self, *args, **kwargs, obj):
diff --git a/src/account/urls.py b/src/account/urls.py
index 96decfd..1dc4f59 100644
--- a/src/account/urls.py
+++ b/src/account/urls.py
@@ -1,8 +1,11 @@
 from rest_framework import routers
+from django.conf.urls import url
 from . import views
 
 router = routers.DefaultRouter(trailing_slash=False)
 
 router.register(r'profiles', views.ProfileViewSet)
-
-urlpatterns = router.urls
+urlpatterns = [
+        url(r'^profiles/create', views.ProfileCreateView.as_view())
+]
+urlpatterns += router.urls
diff --git a/src/account/views.py b/src/account/views.py
index 50a0c05..348fddc 100644
--- a/src/account/views.py
+++ b/src/account/views.py
@@ -1,9 +1,16 @@
-from rest_framework import viewsets
+from rest_framework import viewsets, generics
+from rest_framework.permissions import IsAuthenticated
 
 from . import models
 from . import serializers
 
 
+class ProfileCreateView(generics.CreateAPIView):
+    serializer_class = serializers.ProfileCreateSerializer
+    queryset = models.Profile.objects.all()
+    permission_classes = [IsAuthenticated, ]
+
+
 class ProfileViewSet(viewsets.ModelViewSet):
     serializer_class = serializers.ProfileSerializer
     queryset = models.Profile.objects.all()
diff --git a/src/kszkepzes/urls.py b/src/kszkepzes/urls.py
index 7d26d9b..98b91c9 100644
--- a/src/kszkepzes/urls.py
+++ b/src/kszkepzes/urls.py
@@ -20,5 +20,6 @@ urlpatterns = [
     url(r'^admin/', admin.site.urls),
     url('', include('social_django.urls', namespace='social')),
     url(r'^api/v1/', include('stats.urls')),
+    url(r'^api/v1/', include('account.urls')),
 
 ]
-- 
GitLab