no functional changes

Formatting updated to pep8
This commit is contained in:
2020-07-19 14:31:03 +00:00
parent f2f288a447
commit 263c2a6e05
10 changed files with 98 additions and 86 deletions

View File

@@ -29,12 +29,8 @@ class ActiveMemberManager(models.Manager):
date_today = timezone.now().date() date_today = timezone.now().date()
return super().get_queryset().filter( return super().get_queryset().filter(
Q(member__role='A') & Q(member__role='A')
( & (Q(job_end__gt=date_today) | Q(job_end__isnull=True)))
Q(job_end__gt=date_today) |
Q(job_end__isnull=True)
)
)
class InactiveMemberManager(models.Manager): class InactiveMemberManager(models.Manager):
@@ -45,12 +41,8 @@ class InactiveMemberManager(models.Manager):
date_today = timezone.now().date() date_today = timezone.now().date()
return super().get_queryset().filter( return super().get_queryset().filter(
Q(member__role='P') | Q(member__role='P')
( | (Q(job_end__lt=date_today + timedelta(days=1)) & Q(job_end__isnull=False)))
Q(job_end__lt=date_today + timedelta(days=1)) &
Q(job_end__isnull=False)
)
)
class Member(models.Model): class Member(models.Model):
@@ -61,7 +53,7 @@ class Member(models.Model):
__choices = [ __choices = [
('A', _('Active')), ('A', _('Active')),
('P', _('Pension')) ('P', _('Pension')),
] ]
role = models.CharField(max_length=1, choices=__choices, default='A') role = models.CharField(max_length=1, choices=__choices, default='A')
@@ -76,12 +68,12 @@ class Member(models.Model):
)) ))
phone_regex = RegexValidator( phone_regex = RegexValidator(
regex=r'^\+?1?\d{9,15}$', regex=r'^\+?1?\d{9,15}$',
message=phone_error_msg message=phone_error_msg,
) )
phone = models.CharField( phone = models.CharField(
validators=[phone_regex], validators=[phone_regex],
max_length=17, max_length=17,
blank=True blank=True,
) )
address = models.TextField(null=True, blank=True) address = models.TextField(null=True, blank=True)
@@ -112,7 +104,7 @@ class MemberSerializer(serializers.HyperlinkedModelSerializer):
'mailaccount', 'mailaccount',
'role', 'role',
'description', 'description',
'image' 'image',
] ]

View File

@@ -1,5 +1,5 @@
import django.contrib.auth.admin # import django.contrib.auth.admin
import django.contrib.auth.models # import django.contrib.auth.models
import taggit.admin import taggit.admin
from django.contrib import admin, auth from django.contrib import admin, auth
@@ -33,21 +33,27 @@ class MyPostAdmin(admin.ModelAdmin):
"jquery-ui/jquery-ui.min.js", "jquery-ui/jquery-ui.min.js",
] ]
class MyEventAdmin(MyPostAdmin): class MyEventAdmin(MyPostAdmin):
form = MyEventForm form = MyEventForm
model = Event model = Event
list_display = ['title', 'subtitle', 'slug', 'event_start', 'public_date'] list_display = ['title', 'subtitle', 'slug', 'event_start', 'public_date']
admin.site.register(Event, MyEventAdmin) admin.site.register(Event, MyEventAdmin)
class MyNewsAdmin(MyPostAdmin): class MyNewsAdmin(MyPostAdmin):
form = MyNewsForm form = MyNewsForm
model = News model = News
admin.site.register(News, MyNewsAdmin) admin.site.register(News, MyNewsAdmin)
class MyFetMeetingAdmin(MyEventAdmin): class MyFetMeetingAdmin(MyEventAdmin):
form = MyFetMeetingForm form = MyFetMeetingForm
model = FetMeeting model = FetMeeting
admin.site.register(FetMeeting, MyFetMeetingAdmin) admin.site.register(FetMeeting, MyFetMeetingAdmin)

View File

@@ -17,6 +17,7 @@ class MyPostForm(forms.ModelForm):
'js/tag_completion.js', # to get a list for tag autocompletion via ajax 'js/tag_completion.js', # to get a list for tag autocompletion via ajax
) )
class MyNewsForm(MyPostForm): class MyNewsForm(MyPostForm):
class Meta: class Meta:
model = News model = News
@@ -27,6 +28,7 @@ class MyNewsForm(MyPostForm):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) # to get the self.fields set super().__init__(*args, **kwargs) # to get the self.fields set
class MyEventForm(MyPostForm): class MyEventForm(MyPostForm):
class Meta: class Meta:
model = Event model = Event
@@ -44,6 +46,7 @@ class MyEventForm(MyPostForm):
if 'event_place' in self.fields: if 'event_place' in self.fields:
self.fields['event_place'].required = True self.fields['event_place'].required = True
class MyFetMeetingForm(MyEventForm): class MyFetMeetingForm(MyEventForm):
class Meta: class Meta:
model = FetMeeting model = FetMeeting

View File

@@ -9,7 +9,7 @@ from django.utils.translation import gettext_lazy as _
from taggit.managers import TaggableManager from taggit.managers import TaggableManager
# from ckeditor_uploader import RichTextUploadingField # from ckeditor_uploader import RichTextUploadingField
import uuid # import uuid
import re import re
from rest_framework import serializers from rest_framework import serializers
@@ -27,6 +27,7 @@ class PostManager(models.Manager):
def get_queryset(self): def get_queryset(self):
return super().get_queryset() return super().get_queryset()
class ArticleManager(models.Manager): class ArticleManager(models.Manager):
""" """
Provide a query set only for "Article" Provide a query set only for "Article"
@@ -35,10 +36,12 @@ class ArticleManager(models.Manager):
def get_queryset(self): def get_queryset(self):
return super().get_queryset().filter(Q(post_type='E') | Q(post_type='N')) return super().get_queryset().filter(Q(post_type='E') | Q(post_type='N'))
class NewsManager(models.Manager): class NewsManager(models.Manager):
def get_queryset(self): def get_queryset(self):
return super().get_queryset().filter(~Q(is_event=True)) return super().get_queryset().filter(~Q(is_event=True))
class EventManager(models.Manager): class EventManager(models.Manager):
""" """
Provide a query set only for "Events" Provide a query set only for "Events"
@@ -47,6 +50,7 @@ class EventManager(models.Manager):
def get_queryset(self): def get_queryset(self):
return super().get_queryset().filter(Q(is_event=True) & Q(post_type='E')) return super().get_queryset().filter(Q(is_event=True) & Q(post_type='E'))
class FetMeetingManager(models.Manager): class FetMeetingManager(models.Manager):
def get_queryset(self): def get_queryset(self):
return super().get_queryset().filter(Q(post_type='F')) return super().get_queryset().filter(Q(post_type='F'))
@@ -72,6 +76,7 @@ class Category(models.Model):
verbose_name = "Category" verbose_name = "Category"
verbose_name_plural = "Categories" verbose_name_plural = "Categories"
class Post(models.Model): 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)
@@ -145,7 +150,8 @@ class Post(models.Model):
"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
# 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() 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
@@ -172,6 +178,7 @@ class Post(models.Model):
def __str__(self): def __str__(self):
return "Post (%s, %s): %s " % (self.slug, self.public_date.strftime("%d.%m.%Y"), self.title) return "Post (%s, %s): %s " % (self.slug, self.public_date.strftime("%d.%m.%Y"), self.title)
class PostSerializer(serializers.HyperlinkedModelSerializer): class PostSerializer(serializers.HyperlinkedModelSerializer):
class Meta: class Meta:
model = Post model = Post
@@ -186,9 +193,10 @@ class PostSerializer(serializers.HyperlinkedModelSerializer):
'image', 'image',
'event_start', 'event_start',
'event_end', 'event_end',
'is_fetsitzung' 'is_fetsitzung',
] ]
class News(Post): class News(Post):
objects = NewsManager() objects = NewsManager()
@@ -204,6 +212,7 @@ class News(Post):
super().save(*args, **kwargs) super().save(*args, **kwargs)
class Event(Post): class Event(Post):
objects = EventManager() objects = EventManager()
@@ -218,6 +227,7 @@ class Event(Post):
super().save(*args, **kwargs) super().save(*args, **kwargs)
class FetMeeting(Event): class FetMeeting(Event):
objects = FetMeetingManager() objects = FetMeetingManager()

View File

@@ -5,9 +5,8 @@ from django.utils.safestring import mark_safe
register = template.Library() register = template.Library()
@register.filter(is_safe=True) @register.filter(is_safe=True)
@stringfilter @stringfilter
def tags_to_url(value): def tags_to_url(value):
# return "Tag to url: %s" % value # return "Tag to url: %s" % value
return mark_safe(re.sub(r'\#([\d\w-]+)', '<a href="/posts/t/\g<1>">#\g<1></a>', value)) return mark_safe(re.sub(r'\#([\d\w-]+)', r'<a href="/posts/t/\g<1>">#\g<1></a>', value))

View File

@@ -1,3 +1,3 @@
from django.test import TestCase # from django.test import TestCase
# Create your tests here. # Create your tests here.

View File

@@ -1,13 +1,13 @@
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponse, JsonResponse from django.http import HttpResponse, JsonResponse, HttpResponseServerError
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
from django.core.cache import cache # from django.core.cache import cache
from django.utils.text import slugify from django.utils.text import slugify
from django.utils import timezone from django.utils import timezone
from taggit.models import Tag from taggit.models import Tag
from rest_framework import viewsets from rest_framework import viewsets
from rest_framework import permissions # from rest_framework import permissions
from .models import Post, PostSerializer from .models import Post, PostSerializer
@@ -20,7 +20,9 @@ from collections import deque
def index(request): def index(request):
posts = deque(Post.objects.order_by('-public_date').all()) posts = deque(Post.objects.order_by('-public_date').all())
f = lambda p: p.tags
def f(p):
return p.tags
t = map(f, posts) t = map(f, posts)
return render(request, 'posts/index.html', {"posts": posts, "tags_list": t}) return render(request, 'posts/index.html', {"posts": posts, "tags_list": t})
@@ -34,7 +36,7 @@ def tags(request,tag=""):
def show(request, id=None): def show(request, id=None):
if id.isdigit() or id is int: if id.isdigit() or id is int:
p = Post.objects.get(id=int(id)) p = Post.objects.get(id=int(id))
elif id != "" and not id is None: elif id != "" and id is not None:
p = Post.objects.get(slug=(id)) p = Post.objects.get(slug=(id))
context = { context = {