From deb668d74fb93da7898547d203187312dd1dc238 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 9 Feb 2016 12:41:29 +0100 Subject: [PATCH] Importing valid project without slug --- taiga/export_import/api.py | 3 ++- tests/integration/test_importer_api.py | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/taiga/export_import/api.py b/taiga/export_import/api.py index bbb812f7..3723dd68 100644 --- a/taiga/export_import/api.py +++ b/taiga/export_import/api.py @@ -231,7 +231,8 @@ class ProjectImporterViewSet(mixins.ImportThrottlingPolicyMixin, CreateModelMixi if not enough_slots: raise exc.BadRequest(not_enough_slots_error) - if Project.objects.filter(slug=dump['slug']).exists(): + slug = dump.get('slug', None) + if slug is not None and Project.objects.filter(slug=slug).exists(): del dump['slug'] members = len(dump.get("memberships", [])) diff --git a/tests/integration/test_importer_api.py b/tests/integration/test_importer_api.py index 52784d47..1e753727 100644 --- a/tests/integration/test_importer_api.py +++ b/tests/integration/test_importer_api.py @@ -1476,3 +1476,21 @@ def test_valid_dump_import_with_enough_membership_public_project_slots_multiple_ response_data = response.data assert "id" in response_data assert response_data["name"] == "Valid project" + + +def test_valid_dump_import_without_slug(client): + project = f.ProjectFactory.create(slug="existing-slug") + user = f.UserFactory.create() + client.login(user) + + url = reverse("importer-load-dump") + + data = ContentFile(bytes(json.dumps({ + "name": "Project name", + "description": "Valid project desc", + "is_private": True + }), "utf-8")) + data.name = "test" + + response = client.post(url, {'dump': data}) + assert response.status_code == 201