Skip to content
Snippets Groups Projects
Commit f74ebced authored by Chif Gergo's avatar Chif Gergo
Browse files

Jelentkezes nagyjabol megcsinalva

parent eed3cbc4
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
# Generated by Django 1.11.5 on 2017-12-23 13:55
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('account', '0004_profile_signed'),
]
operations = [
migrations.AlterField(
model_name='profile',
name='join_date',
field=models.DateField(auto_now=True),
),
]
from django.db import models from django.db import models
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.core.exceptions import ValidationError
import datetime
class Profile(models.Model): class Profile(models.Model):
...@@ -22,7 +20,3 @@ class Profile(models.Model): ...@@ -22,7 +20,3 @@ class Profile(models.Model):
def __str__(self): def __str__(self):
return self.user.username return self.user.username
def clean(self):
if self.join_date > datetime.date.today() or self.join_date < datetime.date(2015, 1, 1):
raise ValidationError('Invalid date')
from rest_framework import serializers from rest_framework import serializers
from account.models import Profile from account.models import Profile
from django.contrib.auth.models import User
class ProfileSerializer(serializers.ModelSerializer): class ProfileSerializer(serializers.ModelSerializer):
...@@ -9,16 +10,17 @@ class ProfileSerializer(serializers.ModelSerializer): ...@@ -9,16 +10,17 @@ class ProfileSerializer(serializers.ModelSerializer):
class ProfileCreateSerializer(serializers.ModelSerializer): class ProfileCreateSerializer(serializers.ModelSerializer):
def current_user(self):
user = self.context['request'].user
return user
first_name = serializers.CharField() first_name = serializers.CharField()
last_name = serializers.CharField() last_name = serializers.CharField()
email = serializers.EmailField() email = serializers.EmailField()
# Create a custom method field
current_user = serializers.SerializerMethodField('_user')
class Meta: class Meta:
model = Profile model = Profile
fields = [ fields = [
'current_user',
'first_name', 'first_name',
'last_name', 'last_name',
'email', 'email',
...@@ -27,15 +29,13 @@ class ProfileCreateSerializer(serializers.ModelSerializer): ...@@ -27,15 +29,13 @@ class ProfileCreateSerializer(serializers.ModelSerializer):
'signed', 'signed',
] ]
def _user(self, obj):
user = self.context['request'].user
return user
def create(self, validated_data): def create(self, validated_data):
#user.first_name = validated_data['first_name'] user = self.current_user()
#user.last_name = validated_data['last_name'] if User.objects.filter(username=user.get_username()) is None:
#user.email = validated_data['email'] user.first_name = validated_data['first_name']
#user.save() user.last_name = validated_data['last_name']
user.email = validated_data['email']
user.save()
nick = validated_data['nick'] nick = validated_data['nick']
pref_group = validated_data['pref_group'] pref_group = validated_data['pref_group']
signed = validated_data['signed'] signed = validated_data['signed']
...@@ -46,4 +46,41 @@ class ProfileCreateSerializer(serializers.ModelSerializer): ...@@ -46,4 +46,41 @@ class ProfileCreateSerializer(serializers.ModelSerializer):
signed=signed, signed=signed,
) )
profile_obj.save() profile_obj.save()
else:
raise serializers.ValidationError("Már jelentkeztél, ha le akarsz jelentkezni hazsnáld a Lejelentkezés gombot!")
return validated_data return validated_data
class ProfileUpdateSerializer(serializers.ModelSerializer):
def current_user(self):
user = self.context['request'].user
return user
first_name = serializers.CharField()
last_name = serializers.CharField()
email = serializers.EmailField()
class Meta:
model = Profile
fields = [
'first_name',
'last_name',
'email',
'nick',
'pref_group',
]
def update(self, validated_data):
user = self.current_user()
user.first_name = validated_data['first_name']
user.last_name = validated_data['last_name']
user.email = validated_data['email']
user.save()
nick = validated_data['nick']
pref_group = validated_data['pref_group']
profile_obj = Profile(
user=user,
nick=nick,
pref_group=pref_group,
)
profile_obj.save()
...@@ -6,6 +6,7 @@ router = routers.DefaultRouter(trailing_slash=False) ...@@ -6,6 +6,7 @@ router = routers.DefaultRouter(trailing_slash=False)
router.register(r'profiles', views.ProfileViewSet) router.register(r'profiles', views.ProfileViewSet)
urlpatterns = [ urlpatterns = [
url(r'^profiles/create', views.ProfileCreateView.as_view()) url(r'^profiles/create', views.ProfileCreateView.as_view()),
url(r'^profiles/update/<pk>', views.ProfileUpdateView.as_view())
] ]
urlpatterns += router.urls urlpatterns += router.urls
...@@ -11,6 +11,12 @@ class ProfileCreateView(generics.CreateAPIView): ...@@ -11,6 +11,12 @@ class ProfileCreateView(generics.CreateAPIView):
permission_classes = [IsAuthenticated, ] permission_classes = [IsAuthenticated, ]
class ProfileUpdateView(generics.RetrieveAPIView):
serializer_class = serializers.ProfileUpdateSerializer
queryset = models.Profile.objects.all()
permission_classes = [IsAuthenticated, ]
class ProfileViewSet(viewsets.ModelViewSet): class ProfileViewSet(viewsets.ModelViewSet):
serializer_class = serializers.ProfileSerializer serializer_class = serializers.ProfileSerializer
queryset = models.Profile.objects.all() queryset = models.Profile.objects.all()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment