mirror of
https://github.com/suitenumerique/docs.git
synced 2026-10-17 05:35:34 +02:00
✨(migration) import_migration management command imports Favorites
Straightforward DocumentFavorite import Signed-off-by: Mathieu Agopian <mathieu@agopian.info>
This commit is contained in:
@@ -25,6 +25,7 @@ from core.models import (
|
||||
Document,
|
||||
DocumentAccess,
|
||||
DocumentAskForAccess,
|
||||
DocumentFavorite,
|
||||
Invitation,
|
||||
LinkTrace,
|
||||
User,
|
||||
@@ -107,6 +108,10 @@ class Command(BaseCommand):
|
||||
created = self._import_document_ask_for_access(
|
||||
pk, fields, user_uuid_remap
|
||||
)
|
||||
case "core.documentfavorite":
|
||||
created = self._import_document_favorite(
|
||||
pk, fields, user_uuid_remap
|
||||
)
|
||||
case _:
|
||||
if model_label not in skipped_models:
|
||||
self.stderr.write(
|
||||
@@ -344,3 +349,19 @@ class Command(BaseCommand):
|
||||
[DocumentAskForAccess(**fields, id=pk)]
|
||||
)
|
||||
return True
|
||||
|
||||
def _import_document_favorite(self, pk, fields, user_uuid_remap):
|
||||
"""
|
||||
Import one document favorite record.
|
||||
|
||||
Returns True if a new row was created, False if it already existed.
|
||||
"""
|
||||
user_id = fields.get("user_id")
|
||||
if user_id and user_id in user_uuid_remap:
|
||||
fields["user_id"] = user_uuid_remap[user_id]
|
||||
|
||||
if DocumentFavorite.objects.filter(id=pk).exists():
|
||||
return False
|
||||
|
||||
DocumentFavorite.objects.bulk_create([DocumentFavorite(**fields, id=pk)])
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user