Add basic knowledge model and admin

This commit is contained in:
Ramon Wenger 2018-10-25 11:05:59 +02:00
parent 365002f800
commit 1cd31eb95a
7 changed files with 83 additions and 1 deletions

View File

View File

@ -0,0 +1,31 @@
# Generated by Django 2.0.6 on 2018-10-25 08:59
from django.db import migrations, models
import django.db.models.deletion
import wagtail.core.blocks
import wagtail.core.fields
import wagtail.images.blocks
class Migration(migrations.Migration):
initial = True
dependencies = [
('wagtailcore', '0040_page_draft_title'),
]
operations = [
migrations.CreateModel(
name='BasicKnowledge',
fields=[
('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.Page')),
('contents', wagtail.core.fields.StreamField([('text_block', wagtail.core.blocks.StructBlock([('text', wagtail.core.blocks.RichTextBlock())])), ('image_block', wagtail.images.blocks.ImageChooserBlock()), ('link_block', wagtail.core.blocks.StructBlock([('text', wagtail.core.blocks.TextBlock()), ('url', wagtail.core.blocks.URLBlock())])), ('video_block', wagtail.core.blocks.StructBlock([('url', wagtail.core.blocks.URLBlock())])), ('document_block', wagtail.core.blocks.StructBlock([('url', wagtail.core.blocks.URLBlock())]))], blank=True, null=True)),
('type', models.CharField(choices=[('language_communication', 'Sprache & Kommunikation'), ('society', 'Gesellschaft')], max_length=100)),
],
options={
'abstract': False,
},
bases=('wagtailcore.page',),
),
]

View File

@ -0,0 +1,38 @@
from django.db import models
from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel
from wagtail.core.fields import StreamField
from wagtail.images.blocks import ImageChooserBlock
from books.blocks import TextBlock, LinkBlock, VideoBlock, DocumentBlock
from core.wagtail_utils import StrictHierarchyPage
class BasicKnowledge(StrictHierarchyPage):
parent_page_types = ['books.book']
contents = StreamField([
('text_block', TextBlock()),
('image_block', ImageChooserBlock()),
('link_block', LinkBlock()),
('video_block', VideoBlock()),
('document_block', DocumentBlock()),
], null=True, blank=True)
LANGUAGE_COMMUNICATION = 'language_communication'
SOCIETY = 'society'
TYPE_CHOICES = (
(LANGUAGE_COMMUNICATION, 'Sprache & Kommunikation'),
(SOCIETY, 'Gesellschaft'),
)
type = models.CharField(
max_length=100,
choices=TYPE_CHOICES
)
content_panels = [
FieldPanel('title', classname="full title"),
FieldPanel('type'),
StreamFieldPanel('contents')
]

View File

@ -0,0 +1,11 @@
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
from .models import BasicKnowledge
class BasicKnowledgeAdmin(ModelAdmin):
model = BasicKnowledge
menu_label = 'Basiswissen'
list_display = ('title',)
modeladmin_register(BasicKnowledgeAdmin)

View File

@ -27,4 +27,4 @@ class Book(StrictHierarchyPage):
template = 'generic_page.html'
subpage_types = ['books.Topic']
subpage_types = ['books.Topic', 'basicknowledge.BasicKnowledge']

View File

@ -50,9 +50,11 @@ INSTALLED_APPS = [
'objectives',
'rooms',
'assignments',
'basicknowledge',
'wagtail.contrib.forms',
'wagtail.contrib.redirects',
'wagtail.contrib.modeladmin',
'wagtail.embeds',
'wagtail.sites',
'wagtail.users',