45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from django.db import models
|
|
|
|
from django.utils.html import mark_safe
|
|
from markdown import markdown
|
|
|
|
|
|
class ModelSection(models.Model):
|
|
title = models.CharField(max_length=255)
|
|
order = models.IntegerField()
|
|
content = models.TextField()
|
|
document_type = models.ForeignKey('dms.DocumentType', related_name='model_sections')
|
|
|
|
class Meta:
|
|
ordering = ['order']
|
|
|
|
|
|
class Section(models.Model):
|
|
document = models.ForeignKey('dms.Document', related_name='sections')
|
|
order = models.IntegerField()
|
|
title = models.CharField(max_length=255)
|
|
content = models.TextField()
|
|
|
|
@staticmethod
|
|
def create_from_model_section(model_section, current_document):
|
|
section = Section.objects.create(
|
|
title=model_section.title,
|
|
order=model_section.order,
|
|
content=model_section.content,
|
|
document=current_document
|
|
)
|
|
|
|
section.save()
|
|
|
|
return section
|
|
|
|
def get_message_as_markdown(self):
|
|
return mark_safe(markdown(self.content, safe_mode='escape'))
|
|
|
|
class Meta:
|
|
unique_together = ('document', 'order')
|
|
ordering = ('document', 'order')
|
|
|
|
def __str__(self):
|
|
return self.title
|