Allow setting project when creating related user stories for epics in bulk mode
parent
68f6cf08b2
commit
b975a22859
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue