Allow setting project when creating related user stories for epics in bulk mode

remotes/origin/issue/4795/notification_even_they_are_disabled
Alejandro Alonso 2016-09-05 09:56:12 +02:00 committed by David Barragán Merino
parent 68f6cf08b2
commit b975a22859
3 changed files with 10 additions and 8 deletions

View File

@ -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

View File

@ -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):

View File

@ -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))