Added hidden_for ManyToMany

This commit is contained in:
Pawel Kowalski 2018-09-13 10:20:12 +02:00
parent 9045935d96
commit 2ead4f221b
4 changed files with 53 additions and 1 deletions

View File

@ -0,0 +1,23 @@
query ContentBlockQuery {
chapter(id: "RmlsdGVyZWRDaGFwdGVyTm9kZTo3") {
id
slug
contentBlocks {
edges {
node {
id
title
slug
hiddenFor {
edges {
node {
id
name
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,27 @@
# Generated by Django 2.0.6 on 2018-09-13 07:38
from django.db import migrations, models
import wagtail.core.blocks
import wagtail.core.fields
import wagtail.images.blocks
class Migration(migrations.Migration):
dependencies = [
('user', '0001_initial'),
('book', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='contentblock',
name='hidden_for',
field=models.ManyToManyField(to='user.UserGroup'),
),
migrations.AlterField(
model_name='contentblock',
name='contents',
field=wagtail.core.fields.StreamField([('text_block', wagtail.core.blocks.StructBlock([('text', wagtail.core.blocks.RichTextBlock())], icon='doc-full')), ('basic_knowledge', wagtail.core.blocks.StructBlock([('description', wagtail.core.blocks.RichTextBlock()), ('url', wagtail.core.blocks.URLBlock())], icon='placeholder')), ('student_entry', wagtail.core.blocks.StructBlock([('task_text', wagtail.core.blocks.RichTextBlock())], icon='download')), ('image_block', wagtail.images.blocks.ImageChooserBlock(icon='image')), ('link_block', wagtail.core.blocks.StructBlock([('text', wagtail.core.blocks.TextBlock()), ('url', wagtail.core.blocks.URLBlock())], icon='link')), ('task', wagtail.core.blocks.StructBlock([('text', wagtail.core.blocks.RichTextBlock())], icon='tick')), ('video_block', wagtail.core.blocks.StructBlock([('url', wagtail.core.blocks.URLBlock())], icon='media')), ('document_block', wagtail.core.blocks.StructBlock([('url', wagtail.core.blocks.URLBlock())], icon='doc-full'))], blank=True, null=True),
),
]

View File

@ -29,6 +29,8 @@ class ContentBlock(StrictHierarchyPage):
(BLUE, 'Blau'), (BLUE, 'Blau'),
) )
hidden_for = models.ManyToManyField(UserGroup)
contents = StreamField([ contents = StreamField([
('text_block', TextBlock(icon='doc-full')), ('text_block', TextBlock(icon='doc-full')),
('basic_knowledge', BasicKnowledgeBlock(icon='placeholder')), ('basic_knowledge', BasicKnowledgeBlock(icon='placeholder')),

View File

@ -10,7 +10,7 @@ class ContentBlockNode(DjangoObjectType):
class Meta: class Meta:
model = ContentBlock model = ContentBlock
only_fields = [ only_fields = [
'slug', 'title', 'type', 'contents' 'slug', 'title', 'type', 'contents', 'hidden_for'
] ]
filter_fields = [ filter_fields = [
'slug', 'title', 'slug', 'title',