|
@@ -5,6 +5,7 @@ from django.conf import settings
|
|
from django.core.exceptions import ValidationError
|
|
from django.core.exceptions import ValidationError
|
|
from django.core.urlresolvers import reverse
|
|
from django.core.urlresolvers import reverse
|
|
from django.db import models, transaction
|
|
from django.db import models, transaction
|
|
|
|
+import markdown
|
|
|
|
|
|
|
|
|
|
class Document(models.Model):
|
|
class Document(models.Model):
|
|
@@ -14,7 +15,8 @@ class Document(models.Model):
|
|
TYPE_PLAN = 'plan'
|
|
TYPE_PLAN = 'plan'
|
|
|
|
|
|
name = models.CharField(max_length=130)
|
|
name = models.CharField(max_length=130)
|
|
- comment = models.TextField(blank=True)
|
|
|
|
|
|
+ comment = models.TextField(blank=True, help_text="Texte brut ou markdown")
|
|
|
|
+ comment_html = models.TextField(blank=True, editable=False)
|
|
date = models.DateField(default=datetime.datetime.now)
|
|
date = models.DateField(default=datetime.datetime.now)
|
|
type = models.CharField(max_length=10, choices=(
|
|
type = models.CharField(max_length=10, choices=(
|
|
(TYPE_FACT, 'relevé'),
|
|
(TYPE_FACT, 'relevé'),
|
|
@@ -24,6 +26,10 @@ class Document(models.Model):
|
|
def __str__(self):
|
|
def __str__(self):
|
|
return self.name
|
|
return self.name
|
|
|
|
|
|
|
|
+ def save(self, *args, **kwargs):
|
|
|
|
+ self.comment_html = markdown.markdown(self.comment)
|
|
|
|
+ super().save(*args, **kwargs)
|
|
|
|
+
|
|
def get_absolute_url(self):
|
|
def get_absolute_url(self):
|
|
return reverse('detail-document', kwargs={'pk': self.pk})
|
|
return reverse('detail-document', kwargs={'pk': self.pk})
|
|
|
|
|
|
@@ -74,11 +80,16 @@ class Document(models.Model):
|
|
class AbstractItem(models.Model):
|
|
class AbstractItem(models.Model):
|
|
name = models.CharField(max_length=130)
|
|
name = models.CharField(max_length=130)
|
|
description = models.TextField(blank=True)
|
|
description = models.TextField(blank=True)
|
|
|
|
+ description_html = models.TextField(blank=True)
|
|
document = models.ForeignKey(Document)
|
|
document = models.ForeignKey(Document)
|
|
|
|
|
|
def __str__(self):
|
|
def __str__(self):
|
|
return self.name
|
|
return self.name
|
|
|
|
|
|
|
|
+ def save(self, *args, **kwargs):
|
|
|
|
+ self.description_html = markdown.markdown(self.description)
|
|
|
|
+ super().save(*args, **kwargs)
|
|
|
|
+
|
|
class Meta:
|
|
class Meta:
|
|
abstract = True
|
|
abstract = True
|
|
|
|
|