Newer
Older
from rest_framework import serializers
from django.contrib.auth.models import User
class ProfileSerializer(serializers.ModelSerializer):
class Meta:
fields = '__all__'
class ProfileCreateSerializer(serializers.ModelSerializer):
def current_user(self):
user = self.context['request'].user
return user
first_name = serializers.CharField()
last_name = serializers.CharField()
email = serializers.EmailField()
'first_name',
'last_name',
'email',
'nick',
'pref_group',
'signed',
]
def create(self, validated_data):
user = self.current_user()
if User.objects.filter(username=user.get_username()) is None:
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']
signed = validated_data['signed']
profile_obj = Profile(
user=user,
nick=nick,
pref_group=pref_group,
signed=signed,
)
profile_obj.save()
else:
raise serializers.ValidationError("Már jelentkeztél, ha le akarsz jelentkezni hazsnáld a Lejelentkezés gombot!")
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,
Chif Gergo
committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
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