Skip to content

Commit aa44513

Browse files
committed
add fields groups
1 parent 45d51fb commit aa44513

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

apps/accounts/serializers.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from apps.organizations.models import Organization
2828
from apps.projects.models import Project
2929
from apps.skills.models import Skill
30-
from apps.skills.serializers import SkillLightSerializer, TagSerializer
30+
from apps.skills.serializers import SkillLightSerializer, TagRelatedField, TagSerializer
3131
from services.crisalid.serializers import ResearcherSerializerLight
3232
from services.translator.serializers import AutoTranslatedModelSerializer
3333

@@ -472,7 +472,12 @@ class PeopleGroupSerializer(
472472
featured_projects = serializers.PrimaryKeyRelatedField(
473473
many=True, write_only=True, required=False, queryset=Project.objects.all()
474474
)
475-
tags = TagSerializer(many=True)
475+
tags = TagRelatedField(many=True, required=False)
476+
477+
sdgs = serializers.ListField(
478+
child=serializers.IntegerField(min_value=1, max_value=17),
479+
required=False,
480+
)
476481
location = PeopleGroupLocationSerializer()
477482

478483
def get_hierarchy(self, obj: PeopleGroup) -> list[dict[str, str | int]]:
@@ -535,19 +540,28 @@ def validate_parent(self, value):
535540
def create(self, validated_data):
536541
team = validated_data.pop("team", {})
537542
featured_projects = validated_data.pop("featured_projects", [])
543+
tags = validated_data.pop("tags", [])
544+
538545
people_group = super(PeopleGroupSerializer, self).create(validated_data)
539546
PeopleGroupAddTeamMembersSerializer().create(
540547
{"people_group": people_group, **team}
541548
)
542549
PeopleGroupAddFeaturedProjectsSerializer().create(
543550
{"people_group": people_group, "featured_projects": featured_projects}
544551
)
552+
553+
people_group.tags.set(tags)
545554
return people_group
546555

547556
def update(self, instance, validated_data):
548557
validated_data.pop("team", {})
549558
validated_data.pop("featured_projects", [])
550-
return super(PeopleGroupSerializer, self).update(instance, validated_data)
559+
tags = validated_data.pop("tags", [])
560+
people_group = super(PeopleGroupSerializer, self).update(
561+
instance, validated_data
562+
)
563+
people_group.tags.set(tags)
564+
return people_group
551565

552566
def save(self, **kwargs):
553567
return super().save(**kwargs)

0 commit comments

Comments
 (0)