diff --git a/core/apps/wherehouse/serializers/wherehouse.py b/core/apps/wherehouse/serializers/wherehouse.py index b01ef0f..b62665b 100644 --- a/core/apps/wherehouse/serializers/wherehouse.py +++ b/core/apps/wherehouse/serializers/wherehouse.py @@ -5,6 +5,7 @@ from rest_framework import serializers from core.apps.wherehouse.models.wherehouse import WhereHouse from core.apps.accounts.models import User from core.apps.accounts.serializers.user import UserListSerializer +from core.apps.projects.models.project import Project class WhereHouseListSerializer(serializers.ModelSerializer): @@ -29,10 +30,12 @@ class WhereHouseCreateSerializer(serializers.Serializer): name = serializers.CharField() address = serializers.CharField() user_ids = serializers.ListField(child=serializers.UUIDField(required=False), required=False) + project_ids = serializers.ListField(child=serializers.UUIDField(required=False), required=False) def create(self, validated_data): with transaction.atomic(): user_ids = validated_data.pop('user_ids', []) + project_ids = validated_data.pop('project_ids', []) wherehouse = WhereHouse.objects.create( name=validated_data.get('name'), address=validated_data.get('address'), @@ -40,6 +43,13 @@ class WhereHouseCreateSerializer(serializers.Serializer): if user_ids: users = User.objects.filter(id__in=user_ids) wherehouse.users.set(users) + + if project_ids: + projects = Project.objects.filter(id__in=project_ids) + for project in projects: + project.wherehouse.add(wherehouse) + project.save() + return wherehouse