blob: 8735056a4a86711d8c33c2f152f510fb6a96dfb5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
from django import forms
from django.contrib.gis.db import models
from django.utils import timezone
from django.conf import settings
from django.urls import reverse
from locations.models import Location
from locations.models import CheckIn
from utils.util import markdown_to_html, render_images
class Note(models.Model):
title = models.CharField(max_length=250, null=True, blank=True)
slug = models.SlugField(unique_for_date='pub_date', blank=True)
pub_date = models.DateTimeField(default=timezone.now)
body_html = models.TextField(blank=True)
body_markdown = models.TextField('Note')
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse("notes:detail", kwargs={"year": self.pub_date.year, "month": self.pub_date.strftime("%m"), "slug": self.slug})
@property
def region(self):
return self.location.state.country.lux_region
@property
def longitude(self):
'''Get the site's longitude.'''
return round(self.point.x, 2)
@property
def latitude(self):
'''Get the site's latitude.'''
return round(self.point.y, 2)
@property
def get_previous_published(self):
return self.get_previous_by_pub_date()
@property
def get_next_published(self):
return self.get_next_by_pub_date()
def save(self, *args, **kwargs):
md = render_images(self.body_markdown)
self.body_html = markdown_to_html(md)
super(Note, self).save()
|