From 75ecaedd29e0d0b43aae3f343cd739a11f6adac0 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Tue, 12 Dec 2023 15:43:12 +0100 Subject: [PATCH] Fix content blocks in `dummy_data` command --- server/books/factories.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/server/books/factories.py b/server/books/factories.py index 52e8ff18..3a7c2b4b 100644 --- a/server/books/factories.py +++ b/server/books/factories.py @@ -209,8 +209,8 @@ class ModuleTypeFactory(factory.django.DjangoModelFactory): block_types = [ "text_block", - "basic_knowledge", - "student_entry", + # "basic_knowledge", + # "student_entry", "image_url_block", "solution", ] @@ -224,7 +224,7 @@ class ContentBlockFactory(BasePageFactory): lambda x: random.choice( [ "normal", - "instrument", + # "instrument", "task", ] ) @@ -233,7 +233,7 @@ class ContentBlockFactory(BasePageFactory): contents = wagtail_factories.StreamFieldFactory( { "text_block": factory.SubFactory(TextBlockFactory), - "basic_knowledge": factory.SubFactory(BasicKnowledgeBlockFactory), + # "basic_knowledge": factory.SubFactory(BasicKnowledgeBlockFactory), "assignment": factory.SubFactory(AssignmentBlockFactory), "image_block": factory.SubFactory( wagtail_factories.ImageChooserBlockFactory @@ -248,6 +248,7 @@ class ContentBlockFactory(BasePageFactory): @classmethod def stream_field_magic(cls, module, kwargs, stream_field_name): + user = get_user_model().objects.first() if stream_field_name in kwargs: """ stream_field_name is most likely 'contents' @@ -259,7 +260,6 @@ class ContentBlockFactory(BasePageFactory): block_type = resource["type"] if block_type == "assignment": - user = get_user_model().objects.first() assignment = Assignment.objects.create( title=value["title"], assignment=value["assignment"], @@ -268,7 +268,7 @@ class ContentBlockFactory(BasePageFactory): ) kwargs[ "{}__{}__{}__{}".format( - stream_field_name, idx, block_type, "assignment" + stream_field_name, idx, block_type, "assignment_id" ) ] = assignment elif block_type == "survey": @@ -338,9 +338,15 @@ class ContentBlockFactory(BasePageFactory): ) ] = RichText(fake_paragraph()) elif block_type == "assignment": + assignment = Assignment.objects.create( + title=fake_title(), + assignment=fake_paragraph(), + owner=user, + module=module, + ) kwargs[ "{}__{}__{}__{}".format( - stream_field_name, i, "assignment", "task_text" + stream_field_name, i, "assignment_id", assignment ) ] = RichText(fake_paragraph()) elif block_type == "image_url_block": @@ -365,5 +371,5 @@ class ContentBlockFactory(BasePageFactory): @classmethod def create(cls, module, **kwargs): - # cls.stream_field_magic(module, kwargs, "contents") + cls.stream_field_magic(module, kwargs, "contents") return cls._generate(CREATE_STRATEGY, kwargs)