diff --git a/taiga/projects/epics/api.py b/taiga/projects/epics/api.py index 5888865d..599252ce 100644 --- a/taiga/projects/epics/api.py +++ b/taiga/projects/epics/api.py @@ -263,7 +263,6 @@ class EpicRelatedUserStoryViewSet(NestedViewSetMixin, BlockedByProjectMixin, Mod return services.update_epic_related_userstories_order_in_bulk(data, epic=obj.epic) - def post_save(self, obj, created=False): if not created: # Let's reorder the related stuff after edit the element @@ -276,21 +275,21 @@ class EpicRelatedUserStoryViewSet(NestedViewSetMixin, BlockedByProjectMixin, Mod @list_route(methods=["POST"]) def bulk_create(self, request, **kwargs): - validator = validators.CrateRelatedUserStoriesBulkValidator(data=request.DATA) + validator = validators.CreateRelatedUserStoriesBulkValidator(data=request.DATA) if not validator.is_valid(): return response.BadRequest(validator.errors) data = validator.data epic = get_object_or_404(models.Epic, id=kwargs["epic"]) - project = epic.project + project = Project.objects.get(pk=data.get('project_id')) self.check_permissions(request, 'bulk_create', project) if project.blocked_code is not None: raise exc.Blocked(_("Blocked element")) services.create_related_userstories_in_bulk( - data["userstories"], + data["bulk_userstories"], epic, project=project, owner=request.user diff --git a/taiga/projects/epics/validators.py b/taiga/projects/epics/validators.py index 175f1c3c..7ed00481 100644 --- a/taiga/projects/epics/validators.py +++ b/taiga/projects/epics/validators.py @@ -55,9 +55,11 @@ class EpicsBulkValidator(ProjectExistsValidator, EpicExistsValidator, bulk_epics = serializers.CharField() -class CrateRelatedUserStoriesBulkValidator(ProjectExistsValidator, EpicExistsValidator, - validators.Validator): - userstories = serializers.CharField() +class CreateRelatedUserStoriesBulkValidator(ProjectExistsValidator, EpicExistsValidator, + validators.Validator): + project_id = serializers.IntegerField() + bulk_userstories = serializers.CharField() + class EpicRelatedUserStoryValidator(validators.ModelValidator): diff --git a/tests/integration/test_epics.py b/tests/integration/test_epics.py index 0ca87d09..27314f02 100644 --- a/tests/integration/test_epics.py +++ b/tests/integration/test_epics.py @@ -101,7 +101,8 @@ def test_bulk_create_related_userstories(client): url = reverse('epics-related-userstories-bulk-create', args=[epic.pk]) data = { - "userstories": "test1\ntest2" + "bulk_userstories": "test1\ntest2", + "project_id": project.id } client.login(user) response = client.json.post(url, json.dumps(data))