diff --git a/pkg/modules/migration/create_from_structure.go b/pkg/modules/migration/create_from_structure.go index 68643514b..5cdfa74d7 100644 --- a/pkg/modules/migration/create_from_structure.go +++ b/pkg/modules/migration/create_from_structure.go @@ -51,6 +51,7 @@ func InsertFromStructure(str []*models.NamespaceWithLists, user *user.User) (err tasks := l.Tasks originalBuckets := l.Buckets originalBackgroundInformation := l.BackgroundInformation + needsDefaultBucket := false l.NamespaceID = n.ID err = l.Create(user) @@ -105,6 +106,9 @@ func InsertFromStructure(str []*models.NamespaceWithLists, user *user.User) (err log.Debugf("[creating structure] No bucket created for original bucket id %d", t.BucketID) t.BucketID = 0 } + if !exists || t.BucketID == 0 { + needsDefaultBucket = true + } t.ListID = l.ID err = t.Create(user) @@ -197,6 +201,20 @@ func InsertFromStructure(str []*models.NamespaceWithLists, user *user.User) (err } } + // All tasks brought their own bucket with them, therefore the newly created default bucket is just extra space + if !needsDefaultBucket { + b := &models.Bucket{ListID: l.ID} + bucketsIn, _, _, err := b.ReadAll(user, "", 1, 1) + if err != nil { + return err + } + buckets := bucketsIn.([]*models.Bucket) + buckets[0].Delete() + if err != nil { + return err + } + } + l.Tasks = tasks l.Buckets = originalBuckets } diff --git a/pkg/modules/migration/trello/trello.go b/pkg/modules/migration/trello/trello.go index 35ca0191f..c5a66656d 100644 --- a/pkg/modules/migration/trello/trello.go +++ b/pkg/modules/migration/trello/trello.go @@ -243,7 +243,6 @@ func convertTrelloDataToVikunja(trelloData []*trello.Board) (fullVikunjaHierachi fullVikunjaHierachie[0].Lists = append(fullVikunjaHierachie[0].Lists, list) } - // TODO: Only create a default bucket if no bucket is available // TODO: More logging return