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 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.text import slugify
|
||||||
|
from django.utils import timezone
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
|
from taggit.managers import TaggableManager
|
||||||
|
|
||||||
#from ckeditor_uploader import RichTextUploadingField
|
#from ckeditor_uploader import RichTextUploadingField
|
||||||
import django
|
|
||||||
import uuid
|
import uuid
|
||||||
import re
|
import re
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from django.db.models import Q
|
|
||||||
|
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
logger = logging.getLogger('posts')
|
logger = logging.getLogger('posts')
|
||||||
|
|
||||||
#TODO: is_fetsitzung -> is_fetmeeting
|
|
||||||
|
|
||||||
############
|
############
|
||||||
# MANAGERS #
|
# MANAGERS #
|
||||||
@@ -55,11 +55,16 @@ class FetMeetingManager(models.Manager):
|
|||||||
##########
|
##########
|
||||||
|
|
||||||
class Category(models.Model):
|
class Category(models.Model):
|
||||||
title = models.CharField(max_length=200) # Titel des Posts
|
# Titel des Posts
|
||||||
subtitle = models.CharField(max_length=500, null=True, blank=True) # subtitle
|
title = models.CharField(max_length=200)
|
||||||
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
|
subtitle = models.CharField(max_length=500, null=True, blank=True)
|
||||||
tags = TaggableManager(blank=True) # Tags
|
# 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:
|
class Meta:
|
||||||
verbose_name = "Category"
|
verbose_name = "Category"
|
||||||
@@ -69,16 +74,24 @@ class Post(models.Model):
|
|||||||
#id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
#id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||||
legacy_id = models.IntegerField(null=True)
|
legacy_id = models.IntegerField(null=True)
|
||||||
legacy_rubrik_id = models.IntegerField(null=True)
|
legacy_rubrik_id = models.IntegerField(null=True)
|
||||||
title = models.CharField(max_length=200) # Titel des Posts
|
# Titel des Posts
|
||||||
subtitle = models.CharField(max_length=500, null=True, blank=True) # subtitle
|
title = models.CharField(max_length=200)
|
||||||
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
|
subtitle = models.CharField(max_length=500, null=True, blank=True)
|
||||||
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
|
|
||||||
|
|
||||||
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_fetsitzung = models.BooleanField(default=False)
|
||||||
is_event = models.BooleanField(default=False)
|
is_event = models.BooleanField(default=False)
|
||||||
@@ -90,7 +103,7 @@ class Post(models.Model):
|
|||||||
|
|
||||||
# Dokumente v.a. fuer Sitzungen
|
# Dokumente v.a. fuer Sitzungen
|
||||||
has_protocol = models.BooleanField(default=False)
|
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)
|
protocol_key = models.CharField(max_length=200, null=True, blank=True)
|
||||||
agenda_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):
|
def find_an_image(self):
|
||||||
"find an image via another post"
|
"find an image via another post"
|
||||||
#ToDo: Explain why this image is selected on save of the image
|
# 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
|
# 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:
|
if len(posts1) > 0:
|
||||||
return posts1.get().image
|
return posts1.get().image
|
||||||
|
|
||||||
@@ -153,9 +167,19 @@ class Post(models.Model):
|
|||||||
class PostSerializer(serializers.HyperlinkedModelSerializer):
|
class PostSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Post
|
model = Post
|
||||||
fields = ['slug', 'title', 'subtitle', 'body', 'url', 'public_date',
|
fields = [
|
||||||
'legacy_id', 'image', 'event_start', 'event_end',
|
'slug',
|
||||||
'is_fetsitzung']
|
'title',
|
||||||
|
'subtitle',
|
||||||
|
'body',
|
||||||
|
'url',
|
||||||
|
'public_date',
|
||||||
|
'legacy_id',
|
||||||
|
'image',
|
||||||
|
'event_start',
|
||||||
|
'event_end',
|
||||||
|
'is_fetsitzung'
|
||||||
|
]
|
||||||
|
|
||||||
class News(Post):
|
class News(Post):
|
||||||
class Meta:
|
class Meta:
|
||||||
@@ -172,6 +196,7 @@ class News(Post):
|
|||||||
class Event(Post):
|
class Event(Post):
|
||||||
class Meta:
|
class Meta:
|
||||||
proxy = True
|
proxy = True
|
||||||
|
|
||||||
objects = EventManager()
|
objects = EventManager()
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
@@ -188,7 +213,6 @@ class FetMeeting(Event):
|
|||||||
|
|
||||||
objects = FetMeetingManager()
|
objects = FetMeetingManager()
|
||||||
|
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
self.title = "Fachschaftssitzung"
|
self.title = "Fachschaftssitzung"
|
||||||
self.slug = slugify(self.event_start.date()) + "-" + slugify(self.title)
|
self.slug = slugify(self.event_start.date()) + "-" + slugify(self.title)
|
||||||
|
|||||||
Reference in New Issue
Block a user