From 0c0efd1f1c6815d66e3c92a19589d0115d3322ec Mon Sep 17 00:00:00 2001 From: denis_shtanskii Date: Mon, 6 Jan 2025 13:27:13 +0300 Subject: [PATCH] refactor: Add id and is_favorite --- src/backend/api/v1/projects/serializers.py | 15 ++++++++------- src/backend/apps/profile/constants.py | 6 ++++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/backend/api/v1/projects/serializers.py b/src/backend/api/v1/projects/serializers.py index 92273a6..ab36f2c 100644 --- a/src/backend/api/v1/projects/serializers.py +++ b/src/backend/api/v1/projects/serializers.py @@ -578,7 +578,7 @@ class Meta(BaseParticipationRequestSerializer.Meta): "cover_letter", "is_favorite_profile", ) - read_only_field = ("request_participants",) + read_only_fields = ("request_participants",) def to_representation(self, instance): rep = super().to_representation(instance) @@ -587,16 +587,17 @@ def to_representation(self, instance): ) return rep - def get_is_favorite_profile(self, profile) -> bool: + def get_is_favorite_profile(self, obj) -> bool: """ Метод возвращает True если Владелец добавил участника в избранное. В противном случе возвращает False. """ - user = self.context.get("request", None).user - return ( - user.is_authenticated - and profile.favorited_by.filter(id=user.pk).exists() - ) + user = self.context.get("request").user + if user.is_authenticated: + return obj.request_participants.favorited_by.filter( + id=user.pk + ).exists() + return False def get_request_status(self, obj) -> str: """Метод получения статуса запроса.""" diff --git a/src/backend/apps/profile/constants.py b/src/backend/apps/profile/constants.py index d4a87f1..3c1ac8b 100644 --- a/src/backend/apps/profile/constants.py +++ b/src/backend/apps/profile/constants.py @@ -13,9 +13,11 @@ MIN_LENGTH_NAME = 2 MIN_LENGTH_NAME_MESSAGE = "Должно быть минимум символов" MIN_LENGTH_ABOUT = 20 -REGEX_PROFILE_NAME = r"^[a-zA-Zа-яА-Я -]+$" +REGEX_PROFILE_NAME = r"^[a-zA-Zа-яА-ЯёЁ-]+$" REGEX_PROFILE_NAME_MESSAGE = "Введите кириллицу или латиницу" -REGEX_PROFILE_ABOUT = r"(^[\Wa-zа-яё0-9\s]+)\Z" +REGEX_PROFILE_ABOUT = ( + r"^[\wа-яА-ЯёЁ0-9\s<>,.?!'\"/\-+:;@#\$%\^&\*\(\)\[\]\{\}]*$" +) REGEX_PROFILE_ABOUT_MESSAGE = "Введите кириллицу или латиницу" MAX_SPECIALISTS = 2 MAX_BIRTHDAY_MESSAGE = "Дата не может быть в будущем."