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