Browse Source

HUE-3750 [search] Samples do not show up in the sample folder

Jenny Kim 9 năm trước cách đây
mục cha
commit
2ea383e85d
1 tập tin đã thay đổi với 17 bổ sung3 xóa
  1. 17 3
      apps/search/src/search/management/commands/search_setup.py

+ 17 - 3
apps/search/src/search/management/commands/search_setup.py

@@ -20,8 +20,8 @@ import logging
 from django.core import management
 from django.core.management.base import NoArgsCommand
 
-from desktop.models import Document, Document2, SAMPLE_USER_OWNERS
-from useradmin.models import install_sample_user
+from desktop.models import Directory, Document, Document2, Document2Permission, SAMPLE_USER_OWNERS
+from useradmin.models import get_default_user_group, install_sample_user
 
 
 LOG = logging.getLogger(__name__)
@@ -31,7 +31,21 @@ class Command(NoArgsCommand):
   def handle_noargs(self, **options):
 
     if not Document2.objects.filter(type='search-dashboard', owner__username__in=SAMPLE_USER_OWNERS).exists():
-      install_sample_user()
+      sample_user = install_sample_user()
 
       management.call_command('loaddata', 'initial_search_examples.json', verbosity=2)
       Document.objects.sync()
+
+      # Get or create sample user directories
+      home_dir = Directory.objects.get_home_directory(sample_user)
+      examples_dir, created = Directory.objects.get_or_create(
+        parent_directory=home_dir,
+        owner=sample_user,
+        name=Document2.EXAMPLES_DIR
+      )
+
+      Document2.objects.filter(type='search-dashboard', owner__username__in=SAMPLE_USER_OWNERS).update(parent_directory=examples_dir)
+
+      # Share with default group
+      examples_dir.share(sample_user, Document2Permission.READ_PERM, groups=[get_default_user_group()])
+      LOG.info('Successfully installed sample search dashboard')