Add assignment as a snippet
This commit is contained in:
parent
ca96676e5c
commit
f235d50424
|
|
@ -1,21 +1,28 @@
|
|||
from django.contrib.auth import get_user_model
|
||||
from django.db import models
|
||||
from django_extensions.db.models import TimeStampedModel
|
||||
|
||||
from books.models import Module
|
||||
from wagtail.admin.edit_handlers import FieldPanel
|
||||
from wagtail.snippets.models import register_snippet
|
||||
|
||||
|
||||
@register_snippet
|
||||
class Assignment(TimeStampedModel):
|
||||
title = models.CharField(max_length=255)
|
||||
assignment = models.TextField()
|
||||
deleted = models.BooleanField(default=False)
|
||||
owner = models.ForeignKey(get_user_model(),
|
||||
on_delete=models.PROTECT) # probably don't want to delete all assignments if a user gets deleted
|
||||
module = models.ForeignKey(Module, related_name='assignments', on_delete=models.CASCADE)
|
||||
module = models.ForeignKey('books.Module', related_name='assignments', on_delete=models.CASCADE)
|
||||
user_created = models.BooleanField(default=False)
|
||||
|
||||
panels = [
|
||||
FieldPanel('title'),
|
||||
FieldPanel('assignment'),
|
||||
FieldPanel('module'),
|
||||
]
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
return self.title if not self.user_created else '{} (erstellt von {})'.format(self.title, self.owner)
|
||||
|
||||
|
||||
class StudentSubmission(TimeStampedModel):
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
from wagtail.core import blocks
|
||||
from wagtail.snippets.blocks import SnippetChooserBlock
|
||||
|
||||
from assignments.models import Assignment
|
||||
|
||||
DEFAULT_RICH_TEXT_FEATURES = ['bold', 'italic', 'link', 'ol', 'ul']
|
||||
|
||||
|
|
@ -43,7 +46,7 @@ class AssignmentBlock(blocks.StructBlock):
|
|||
class Meta:
|
||||
icon = 'download'
|
||||
|
||||
assignment_id = blocks.IntegerBlock()
|
||||
assignment_id = SnippetChooserBlock(Assignment)
|
||||
|
||||
|
||||
# 'video_block'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 2.0.6 on 2018-12-04 16:29
|
||||
|
||||
import assignments.models
|
||||
from django.db import migrations
|
||||
import wagtail.core.blocks
|
||||
import wagtail.core.fields
|
||||
import wagtail.images.blocks
|
||||
import wagtail.snippets.blocks
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('books', '0005_auto_20181025_1155'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='contentblock',
|
||||
name='contents',
|
||||
field=wagtail.core.fields.StreamField([('text_block', wagtail.core.blocks.StructBlock([('text', wagtail.core.blocks.RichTextBlock())])), ('basic_knowledge', wagtail.core.blocks.StructBlock([('description', wagtail.core.blocks.RichTextBlock()), ('basic_knowledge', wagtail.core.blocks.PageChooserBlock(required=True, target_model=['basicknowledge.BasicKnowledge']))])), ('assignment', wagtail.core.blocks.StructBlock([('assignment_id', wagtail.snippets.blocks.SnippetChooserBlock(assignments.models.Assignment))])), ('image_block', wagtail.images.blocks.ImageChooserBlock()), ('image_url_block', wagtail.core.blocks.StructBlock([('title', wagtail.core.blocks.TextBlock()), ('url', wagtail.core.blocks.URLBlock())])), ('link_block', wagtail.core.blocks.StructBlock([('text', wagtail.core.blocks.TextBlock()), ('url', wagtail.core.blocks.URLBlock())])), ('task', wagtail.core.blocks.StructBlock([('text', wagtail.core.blocks.RichTextBlock())], icon='tick')), ('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),
|
||||
),
|
||||
]
|
||||
Loading…
Reference in New Issue