diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e09a7cd..a60bd2d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ ## 6.7.3 (unreleased) - GitHub Importer: fix import error with issues associated to a closed milestone. +- Trello Importer: fix import error with attachemts without owner. +- Trello Importer: fix import error when attachemt name ends with '/'. ## 6.7.2 (2024-02-16) diff --git a/taiga/importers/trello/importer.py b/taiga/importers/trello/importer.py index 54366b99..ed607dda 100644 --- a/taiga/importers/trello/importer.py +++ b/taiga/importers/trello/importer.py @@ -343,7 +343,7 @@ def _import_attachments(self, us, card, options): data = self._client.download(attachment['url']) att = Attachment( - owner=users_bindings.get(attachment['idMember'], self._user), + owner=users_bindings.get(attachment['idMember'], self._user) or self._user, project=us.project, content_type=ContentType.objects.get_for_model(UserStory), object_id=us.id, @@ -352,7 +352,9 @@ def _import_attachments(self, us, card, options): created_date=attachment['date'], is_deprecated=False, ) - att.attached_file.save(attachment['name'], ContentFile(data), save=True) + + file_name = attachment['name'][:-1] if attachment['name'].endswith('/') else attachment['name'] + att.attached_file.save(file_name, ContentFile(data), save=True) UserStory.objects.filter(id=us.id, created_date__gt=attachment['date']).update( created_date=attachment['date'] @@ -452,19 +454,19 @@ def _transform_action_data(self, us, action, statuses, options): elif action['type'] == "convertToCardFromCheckItem": UserStory.objects.filter(id=us.id, created_date__gt=action['date']).update( created_date=action['date'], - owner=users_bindings.get(action["idMemberCreator"], self._user) + owner=users_bindings.get(action["idMemberCreator"], self._user) or self._user ) result['hist_type'] = HistoryType.create elif action['type'] == "copyCommentCard": UserStory.objects.filter(id=us.id, created_date__gt=action['date']).update( created_date=action['date'], - owner=users_bindings.get(action["idMemberCreator"], self._user) + owner=users_bindings.get(action["idMemberCreator"], self._user) or self._user ) result['hist_type'] = HistoryType.create elif action['type'] == "createCard": UserStory.objects.filter(id=us.id, created_date__gt=action['date']).update( created_date=action['date'], - owner=users_bindings.get(action["idMemberCreator"], self._user) + owner=users_bindings.get(action["idMemberCreator"], self._user) or self._user ) result['hist_type'] = HistoryType.create elif action['type'] == "updateCard":