no functional changes:
update format
This commit is contained in:
@@ -1,22 +1,22 @@
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
from taggit.managers import TaggableManager
|
||||
from django.db import models
|
||||
from django.db.models import Q
|
||||
from django.utils.text import slugify
|
||||
from django.utils import timezone
|
||||
from django.urls import reverse
|
||||
|
||||
from taggit.managers import TaggableManager
|
||||
|
||||
#from ckeditor_uploader import RichTextUploadingField
|
||||
import django
|
||||
import uuid
|
||||
import re
|
||||
from rest_framework import serializers
|
||||
from django.db.models import Q
|
||||
|
||||
from datetime import timedelta
|
||||
|
||||
import logging
|
||||
logger = logging.getLogger('posts')
|
||||
|
||||
#TODO: is_fetsitzung -> is_fetmeeting
|
||||
|
||||
############
|
||||
# MANAGERS #
|
||||
@@ -55,11 +55,16 @@ class FetMeetingManager(models.Manager):
|
||||
##########
|
||||
|
||||
class Category(models.Model):
|
||||
title = models.CharField(max_length=200) # Titel des Posts
|
||||
subtitle = models.CharField(max_length=500, null=True, blank=True) # subtitle
|
||||
slug = models.SlugField(unique=True,null=True,blank=True) # Slug = Text Basierter url bestandteil zb Fetsitzung 22.1.2020 --> fetsitzung_22_1_2020 für Url
|
||||
image = models.ImageField(null=True,blank=True) # Ein Haupt Bild für den Post
|
||||
tags = TaggableManager(blank=True) # Tags
|
||||
# Titel des Posts
|
||||
title = models.CharField(max_length=200)
|
||||
|
||||
subtitle = models.CharField(max_length=500, null=True, blank=True)
|
||||
# Slug = Text Basierter url bestandteil zb Fetsitzung 22.1.2020 --> fetsitzung_22_1_2020 für Url
|
||||
slug = models.SlugField(unique=True,null=True,blank=True)
|
||||
# Ein Haupt Bild für den Post
|
||||
image = models.ImageField(null=True, blank=True)
|
||||
|
||||
tags = TaggableManager(blank=True)
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Category"
|
||||
@@ -69,16 +74,24 @@ class Post(models.Model):
|
||||
#id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||
legacy_id = models.IntegerField(null=True)
|
||||
legacy_rubrik_id = models.IntegerField(null=True)
|
||||
title = models.CharField(max_length=200) # Titel des Posts
|
||||
subtitle = models.CharField(max_length=500, null=True, blank=True) # subtitle
|
||||
slug = models.SlugField(unique=True,null=True,blank=True) # Slug = Text Basierter url bestandteil zb Fetsitzung 22.1.2020 --> fetsitzung_22_1_2020 für Url
|
||||
body = models.TextField(null=True, blank=True) # Body Text Artikel Text soll später mit WYSIWG Editor bearbeitet werden
|
||||
image = models.ImageField(null=True,blank=True) # Ein Haupt Bild für den Post
|
||||
author = models.ForeignKey(User,on_delete=models.SET_NULL, null=True,blank=True) # Wer hat das geschrieben
|
||||
tags = TaggableManager(blank=True) # Tags
|
||||
public_date = models.DateField('date published',null=True,blank=True, default=django.utils.timezone.now) # Datum ab dem etwas öffentlich sein soll
|
||||
# Titel des Posts
|
||||
title = models.CharField(max_length=200)
|
||||
subtitle = models.CharField(max_length=500, null=True, blank=True)
|
||||
|
||||
imported_from = models.CharField(max_length=200, null=True, blank=True) # Titel des Posts
|
||||
# Slug = Text Basierter url bestandteil zb Fetsitzung 22.1.2020 --> fetsitzung_22_1_2020 für Url
|
||||
slug = models.SlugField(unique=True, null=True, blank=True)
|
||||
# Body Text Artikel Text soll später mit WYSIWG Editor bearbeitet werden
|
||||
body = models.TextField(null=True, blank=True)
|
||||
# Ein Haupt Bild für den Post
|
||||
image = models.ImageField(null=True, blank=True)
|
||||
# Wer hat das geschrieben
|
||||
author = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True)
|
||||
|
||||
tags = TaggableManager(blank=True)
|
||||
# Datum ab dem etwas öffentlich sein soll
|
||||
public_date = models.DateField('date published', null=True, blank=True, default=timezone.now)
|
||||
|
||||
imported_from = models.CharField(max_length=200, null=True, blank=True)
|
||||
|
||||
is_fetsitzung = models.BooleanField(default=False)
|
||||
is_event = models.BooleanField(default=False)
|
||||
@@ -90,7 +103,7 @@ class Post(models.Model):
|
||||
|
||||
# Dokumente v.a. fuer Sitzungen
|
||||
has_protocol = models.BooleanField(default=False)
|
||||
has_agenda = models.BooleanField(default=False)#
|
||||
has_agenda = models.BooleanField(default=False)
|
||||
protocol_key = models.CharField(max_length=200, null=True, blank=True)
|
||||
agenda_key = models.CharField(max_length=200, null=True, blank=True)
|
||||
|
||||
@@ -122,8 +135,9 @@ class Post(models.Model):
|
||||
|
||||
def find_an_image(self):
|
||||
"find an image via another post"
|
||||
#ToDo: Explain why this image is selected on save of the image
|
||||
posts1=Post.objects.filter(slug__in=self.tags.names()).filter(image__isnull=False)[0:1].all() # Query all posts that have a slug that equals one of the tags
|
||||
# TODO: Explain why this image is selected on save of the image
|
||||
# Query all posts that have a slug that equals one of the tags
|
||||
posts1 = Post.objects.filter(slug__in=self.tags.names()).filter(image__isnull=False)[0:1].all()
|
||||
if len(posts1) > 0:
|
||||
return posts1.get().image
|
||||
|
||||
@@ -153,9 +167,19 @@ class Post(models.Model):
|
||||
class PostSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class Meta:
|
||||
model = Post
|
||||
fields = ['slug', 'title', 'subtitle', 'body', 'url', 'public_date',
|
||||
'legacy_id', 'image', 'event_start', 'event_end',
|
||||
'is_fetsitzung']
|
||||
fields = [
|
||||
'slug',
|
||||
'title',
|
||||
'subtitle',
|
||||
'body',
|
||||
'url',
|
||||
'public_date',
|
||||
'legacy_id',
|
||||
'image',
|
||||
'event_start',
|
||||
'event_end',
|
||||
'is_fetsitzung'
|
||||
]
|
||||
|
||||
class News(Post):
|
||||
class Meta:
|
||||
@@ -172,6 +196,7 @@ class News(Post):
|
||||
class Event(Post):
|
||||
class Meta:
|
||||
proxy = True
|
||||
|
||||
objects = EventManager()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
@@ -188,7 +213,6 @@ class FetMeeting(Event):
|
||||
|
||||
objects = FetMeetingManager()
|
||||
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.title = "Fachschaftssitzung"
|
||||
self.slug = slugify(self.event_start.date()) + "-" + slugify(self.title)
|
||||
|
||||
Reference in New Issue
Block a user