added frontend for social + feed partiali working
This commit is contained in:
@@ -17,6 +17,14 @@ from rest_framework.exceptions import PermissionDenied
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
class PublicUserSerializer(serializers.ModelSerializer):
|
||||
"""Minimal read-only profile returned to non-owner authenticated users."""
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ['id', 'username', 'first_name', 'last_name', 'avatar', 'city', 'role', 'create_time']
|
||||
read_only_fields = ['id', 'username', 'first_name', 'last_name', 'avatar', 'city', 'role', 'create_time']
|
||||
|
||||
|
||||
class CustomUserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
@@ -35,6 +43,7 @@ class CustomUserSerializer(serializers.ModelSerializer):
|
||||
"postal_code",
|
||||
"gdpr",
|
||||
"is_active",
|
||||
"avatar",
|
||||
]
|
||||
read_only_fields = ["id", "create_time", "gdpr", "username"] # <-- removed "account_type"
|
||||
|
||||
@@ -89,17 +98,18 @@ class UserRegistrationSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = [
|
||||
'first_name', 'last_name', 'email', 'phone_number', 'password',
|
||||
'username', 'first_name', 'last_name', 'email', 'phone_number', 'password',
|
||||
'city', 'street', 'postal_code', 'gdpr'
|
||||
]
|
||||
extra_kwargs = {
|
||||
'first_name': {'required': True, 'help_text': 'Křestní jméno uživatele'},
|
||||
'last_name': {'required': True, 'help_text': 'Příjmení uživatele'},
|
||||
'username': {'required': False, 'allow_blank': True, 'help_text': 'Užívatelské jméno'},
|
||||
'first_name': {'required': False, 'allow_blank': True, 'help_text': 'Křestní jméno uživatele'},
|
||||
'last_name': {'required': False, 'allow_blank': True, 'help_text': 'Příjmení uživatele'},
|
||||
'email': {'required': True, 'help_text': 'Emailová adresa uživatele'},
|
||||
'phone_number': {'required': True, 'help_text': 'Telefonní číslo uživatele'},
|
||||
'city': {'required': True, 'help_text': 'Město uživatele'},
|
||||
'street': {'required': True, 'help_text': 'Ulice uživatele'},
|
||||
'postal_code': {'required': True, 'help_text': 'PSČ uživatele'},
|
||||
'phone_number': {'required': False, 'allow_null': True, 'allow_blank': True, 'help_text': 'Telefonní číslo uživatele'},
|
||||
'city': {'required': False, 'allow_blank': True, 'allow_null': True, 'help_text': 'Město uživatele'},
|
||||
'street': {'required': False, 'allow_blank': True, 'allow_null': True, 'help_text': 'Ulice uživatele'},
|
||||
'postal_code': {'required': False, 'allow_blank': True, 'allow_null': True, 'help_text': 'PSČ uživatele'},
|
||||
'gdpr': {'required': True, 'help_text': 'Souhlas se zpracováním osobních údajů'},
|
||||
}
|
||||
|
||||
@@ -117,9 +127,9 @@ class UserRegistrationSerializer(serializers.ModelSerializer):
|
||||
def validate(self, data):
|
||||
email = data.get("email")
|
||||
phone = data.get("phone_number")
|
||||
dgpr = data.get("GDPR")
|
||||
if not dgpr:
|
||||
raise serializers.ValidationError({"GDPR": "You must agree to the GDPR to register."})
|
||||
gdpr = data.get("gdpr")
|
||||
if not gdpr:
|
||||
raise serializers.ValidationError({"gdpr": "You must agree to the GDPR to register."})
|
||||
|
||||
if User.objects.filter(email=email).exists():
|
||||
raise serializers.ValidationError({"email": "Account with this email already exists."})
|
||||
@@ -131,10 +141,8 @@ class UserRegistrationSerializer(serializers.ModelSerializer):
|
||||
|
||||
def create(self, validated_data):
|
||||
password = validated_data.pop("password")
|
||||
username = validated_data.get("username", "")
|
||||
user = User.objects.create(
|
||||
username=username,
|
||||
is_active=False, #uživatel je defaultně deaktivovaný
|
||||
is_active=True, #uživatel je defaultně aktivní
|
||||
**validated_data
|
||||
)
|
||||
user.set_password(password)
|
||||
|
||||
Reference in New Issue
Block a user