From 9fd40ce1bcd70ad716a4d740466d3cc648b00f62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa?= Date: Wed, 17 Oct 2018 15:21:40 +0200 Subject: [PATCH] Set default permissions for anon user when importing from Trello --- taiga/importers/services.py | 14 ++++++++++++++ taiga/importers/trello/importer.py | 1 + 2 files changed, 15 insertions(+) diff --git a/taiga/importers/services.py b/taiga/importers/services.py index 1f99e446..ec30a411 100644 --- a/taiga/importers/services.py +++ b/taiga/importers/services.py @@ -19,6 +19,8 @@ from taiga.users.models import User from taiga.projects.models import Membership +from taiga.permissions.choices import ANON_PERMISSIONS + def resolve_users_bindings(users_bindings): new_users_bindings = {} @@ -50,3 +52,15 @@ def create_memberships(users_bindings, project, creator, role_name): is_admin=False, invited_by=creator, ) + +def set_base_permissions_for_project(project): + if project.is_private: + return + + anon_permissions = list( + map(lambda perm: perm[0], ANON_PERMISSIONS)) + project.anon_permissions = list( + set((project.anon_permissions or []) + anon_permissions)) + project.public_permissions = list( + set((project.public_permissions or []) + anon_permissions)) + project.save() diff --git a/taiga/importers/trello/importer.py b/taiga/importers/trello/importer.py index 02ff979b..08a1c201 100644 --- a/taiga/importers/trello/importer.py +++ b/taiga/importers/trello/importer.py @@ -262,6 +262,7 @@ class TrelloImporter: project=project ) import_service.create_memberships(options.get('users_bindings', {}), project, self._user, "trello") + import_service.set_base_permissions_for_project(project) return project def _import_user_stories_data(self, data, project, options):