blob: 76941f2f8396c58e1167e2a2cac31e2be8b3fa49 (
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
|
import json
import requests
from django import forms
from django.urls import reverse
from django.apps import apps
from django.contrib.gis.geos import GEOSGeometry, fromstr, MultiPolygon
from django.contrib.gis.db import models
from django.contrib.sitemaps import Sitemap
from django.utils.safestring import mark_safe
from django.utils import timezone
from django.conf import settings
from utils.util import render_images, extract_main_image, markdown_to_html
from locations.models import Route
class Trip(models.Model):
"""Model to define trips"""
title = models.CharField(max_length=50)
subtitle = models.CharField(max_length=200, blank=True)
slug = models.SlugField(unique_for_date='pub_date')
dek_markdown = models.TextField()
dek_html = models.TextField(null=True, blank=True)
pub_date = models.DateTimeField('Date published')
start_date = models.DateTimeField('Date started')
end_date = models.DateTimeField('Date ended')
route = models.ForeignKey(Route, on_delete=models.CASCADE)
def get_absolute_url(self):
return "/trips/%s/" % (self.slug)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
created = self.pk is None
if not created:
md = render_images(self.dek_markdown)
self.dek_html = markdown_to_html(md)
super(Trip, self).save(*args, **kwargs)
|