diff --git a/fet2020/fet2020/middleware.py b/fet2020/fet2020/middleware.py index 0a0eb6d6..00c34b27 100644 --- a/fet2020/fet2020/middleware.py +++ b/fet2020/fet2020/middleware.py @@ -1,15 +1,20 @@ -from django.contrib.auth.models import User +# from django.contrib.auth.models import User from django.contrib.auth.middleware import RemoteUserMiddleware -import django -#import logging -#logger=logging.getLogger("django.request") +# import django +# import logging +# logger=logging.getLogger("django.request") + class FETHeaderMiddleware(RemoteUserMiddleware): - header="Remote-User" + header = "Remote-User" + def process_request(self, request): - request.META[self.header]=request.META.get(self.header, request.headers.get(self.header,None)) + request.META[self.header] = request.META.get( + self.header, + request.headers.get(self.header, None) + ) super().process_request(request) if request.user.is_authenticated: - request.user.is_admin=True - request.user.is_superuser=True - request.user.is_staff=True \ No newline at end of file + request.user.is_admin = True + request.user.is_superuser = True + request.user.is_staff = True diff --git a/fet2020/fet2020/settings.py b/fet2020/fet2020/settings.py index 765869d3..c5c2887f 100644 --- a/fet2020/fet2020/settings.py +++ b/fet2020/fet2020/settings.py @@ -65,7 +65,10 @@ ROOT_URLCONF = 'fet2020.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [os.path.join(BASE_DIR, 'templates'),os.path.join(BASE_DIR, 'templates_design1')], + 'DIRS': [ + os.path.join(BASE_DIR, 'templates'), + os.path.join(BASE_DIR, 'templates_design1') + ], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ @@ -138,10 +141,8 @@ STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static_design1"), ] -MEDIA_ROOT=os.path.join(BASE_DIR, 'files/') -MEDIA_URL='/files/' - - +MEDIA_ROOT = os.path.join(BASE_DIR, 'files/') +MEDIA_URL = '/files/' TAGGIT_FORCE_LOWERCASE = True @@ -160,5 +161,4 @@ CKEDITOR_CONFIGS = { }, ], } - } diff --git a/fet2020/fet2020/views.py b/fet2020/fet2020/views.py index a73cb2c6..ce495b72 100644 --- a/fet2020/fet2020/views.py +++ b/fet2020/fet2020/views.py @@ -1,22 +1,27 @@ from django.shortcuts import render -from django.http import HttpResponse +# from django.http import HttpResponse from collections import deque from posts.models import Post def index(request): - posts=deque(Post.article_objects.all()) - l=len(posts) + posts = deque(Post.article_objects.all()) + def get_tags(lst): for p in lst: for t in list(p.tags.names()): - yield "#"+ t + yield "#" + t - - t=set( t for t in get_tags(posts)) - if l>=1: - featured_post=posts.popleft() + t = set(t for t in get_tags(posts)) + if len(posts) >= 1: + featured_post = posts.popleft() else: - featured_post=0 + featured_post = 0 - return render(request, 'home.html',{'posts':posts, 'featured_post':featured_post, "tags_list": ", ".join(t)}) + context = { + 'posts': posts, + 'featured_post': featured_post, + 'tags_list': ", ".join(t) + } + + return render(request, 'home.html', context) diff --git a/fet2020/members/admin.py b/fet2020/members/admin.py index c417cf50..ef324319 100644 --- a/fet2020/members/admin.py +++ b/fet2020/members/admin.py @@ -21,14 +21,17 @@ class MemberRoleFilter(admin.SimpleListFilter): elif self.value() == 'P': return queryset.filter(role='P') + class JobMemberInline(admin.TabularInline): model = JobMember extra = 0 + class JobOverviewInline(JobMemberInline): verbose_name = "Tätigkeit" verbose_name_plural = "Tätigkeitsübersicht" + class ActiveMemberInline(JobMemberInline): verbose_name = "Mitglied" verbose_name_plural = "Aktive Mitglieder Liste" @@ -36,6 +39,7 @@ class ActiveMemberInline(JobMemberInline): def get_queryset(self, request): return JobMember.active_member.all() + class InactiveMemberInline(JobMemberInline): verbose_name = "Mitglied" verbose_name_plural = "Inaktive Mitglieder Liste" @@ -43,25 +47,29 @@ class InactiveMemberInline(JobMemberInline): def get_queryset(self, request): return JobMember.inactive_member.all() + class JobInline(admin.TabularInline): model = Job extra = 0 + class MyMemberAdmin(admin.ModelAdmin): form = MyMemberForm model = Member list_display = ['nickname', 'firstname', 'surname', 'mailaccount', 'role'] inlines = (JobOverviewInline,) - search_fields = ['firstname', 'surname','nickname','mailaccount'] + search_fields = ['firstname', 'surname', 'nickname', 'mailaccount'] list_filter = [MemberRoleFilter] def save_model(self, request, obj, form, change): obj.author = request.user super().save_model(request, obj, form, change) + admin.site.register(Member, MyMemberAdmin) + class MyJobAdmin(admin.ModelAdmin): form = MyJobForm model = Job @@ -74,8 +82,10 @@ class MyJobAdmin(admin.ModelAdmin): obj.author = request.user super().save_model(request, obj, form, change) + admin.site.register(Job, MyJobAdmin) + class MyJobGroupAdmin(admin.ModelAdmin): form = MyJobGroupForm model = JobGroup @@ -88,4 +98,5 @@ class MyJobGroupAdmin(admin.ModelAdmin): obj.author = request.user super().save_model(request, obj, form, change) -admin.site.register(JobGroup, MyJobGroupAdmin) \ No newline at end of file + +admin.site.register(JobGroup, MyJobGroupAdmin) diff --git a/fet2020/members/forms.py b/fet2020/members/forms.py index c097cc63..2e6927ae 100644 --- a/fet2020/members/forms.py +++ b/fet2020/members/forms.py @@ -20,16 +20,29 @@ class MyMemberForm(forms.ModelForm): 'address' ] - widgets = {'description': CKEditorUploadingWidget(config_name='default')} + widgets = { + 'description': CKEditorUploadingWidget(config_name='default') + } + class MyJobForm(forms.ModelForm): class Meta: model = Job - fields = ['name', 'shortterm', 'slug', 'job_group', 'description', 'image'] + fields = [ + 'name', + 'shortterm', + 'slug', + 'job_group', + 'description', + 'image' + ] + + widgets = { + 'description': CKEditorUploadingWidget(config_name='default') + } - widgets = {'description': CKEditorUploadingWidget(config_name='default')} class MyJobGroupForm(forms.ModelForm): class Meta: model = JobGroup - fields = ['name', 'shortterm', 'is_pinned'] \ No newline at end of file + fields = ['name', 'shortterm', 'is_pinned'] diff --git a/fet2020/members/models.py b/fet2020/members/models.py index ee1546db..5beecd15 100644 --- a/fet2020/members/models.py +++ b/fet2020/members/models.py @@ -6,7 +6,7 @@ from django.utils.text import slugify from django.utils.translation import gettext_lazy as _ from rest_framework import serializers -import uuid +# import uuid from datetime import timedelta @@ -15,10 +15,12 @@ class MemberManager(models.Manager): def get_queryset(self): return super().get_queryset().filter(role='A') + class PensionManager(models.Manager): def get_queryset(self): return super().get_queryset().filter(role='P') + class ActiveMemberManager(models.Manager): ''' return a list of active member, and members who are still working @@ -34,6 +36,7 @@ class ActiveMemberManager(models.Manager): ) ) + class InactiveMemberManager(models.Manager): ''' return a list of inactive member @@ -49,6 +52,7 @@ class InactiveMemberManager(models.Manager): ) ) + class Member(models.Model): firstname = models.CharField(max_length=128) surname = models.CharField(max_length=128) @@ -59,19 +63,26 @@ class Member(models.Model): ('A', _('Active')), ('P', _('Pension')) ] - role = models.CharField(max_length=1, choices= __choices, default='A') + role = models.CharField(max_length=1, choices=__choices, default='A') description = models.TextField(null=True, blank=True) image = models.ImageField(null=True, blank=True) birthday = models.DateField(null=True, blank=True) - phone_error_msg =_(( + phone_error_msg = _(( "Phone number must be entered in the format: " "+999999999'. Up to 15 digits allowed." )) - phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message=phone_error_msg) - phone = models.CharField(validators=[phone_regex], max_length=17, blank=True) + phone_regex = RegexValidator( + regex=r'^\+?1?\d{9,15}$', + message=phone_error_msg + ) + phone = models.CharField( + validators=[phone_regex], + max_length=17, + blank=True + ) address = models.TextField(null=True, blank=True) @@ -90,6 +101,7 @@ class Member(models.Model): def __str__(self): return self.firstname + " " + self.surname + class MemberSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Member @@ -103,6 +115,7 @@ class MemberSerializer(serializers.HyperlinkedModelSerializer): 'image' ] + class JobGroup(models.Model): name = models.CharField(max_length=128) shortterm = models.CharField(max_length=128) @@ -111,6 +124,7 @@ class JobGroup(models.Model): def __str__(self): return self.name + class Job(models.Model): name = models.CharField(max_length=128) shortterm = models.CharField(max_length=128) @@ -139,6 +153,7 @@ class Job(models.Model): def __str__(self): return self.shortterm + class JobMember(models.Model): member = models.ForeignKey( Member, @@ -166,4 +181,4 @@ class JobMember(models.Model): jobmember = models.Manager() active_member = ActiveMemberManager() - inactive_member = InactiveMemberManager() \ No newline at end of file + inactive_member = InactiveMemberManager() diff --git a/fet2020/members/tests.py b/fet2020/members/tests.py index 7ce503c2..a79ca8be 100644 --- a/fet2020/members/tests.py +++ b/fet2020/members/tests.py @@ -1,3 +1,3 @@ -from django.test import TestCase +# from django.test import TestCase # Create your tests here. diff --git a/fet2020/members/urls.py b/fet2020/members/urls.py index 410b47d1..cb09cf40 100644 --- a/fet2020/members/urls.py +++ b/fet2020/members/urls.py @@ -5,4 +5,4 @@ from . import views urlpatterns = [ path('', views.index, name='members.index'), -] \ No newline at end of file +] diff --git a/fet2020/members/views.py b/fet2020/members/views.py index 73fb47a6..f4fcc17c 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -1,5 +1,5 @@ from django.shortcuts import render -from django.http import HttpResponse +# from django.http import HttpResponse from collections import deque @@ -7,11 +7,11 @@ from .models import Member, Job, JobMember, JobGroup, MemberSerializer from rest_framework import viewsets from rest_framework import permissions -from django_filters.rest_framework import DjangoFilterBackend +# from django_filters.rest_framework import DjangoFilterBackend def index(request): - #members = deque(Member.all_members.all()) + # members = deque(Member.all_members.all()) members = deque(Member.all_members.all()) jobmembers = deque(JobMember.jobmember.all()) jobs = deque(Job.objects.all()) @@ -19,13 +19,14 @@ def index(request): context = { "members": members, - "jobmembers" : jobmembers, - "jobgroups" : jobgroups, - "jobs" : jobs, + "jobmembers": jobmembers, + "jobgroups": jobgroups, + "jobs": jobs, } return render(request, 'members/index.html', context) + class MemberViewSet(viewsets.ModelViewSet): """ API endpoint that allows users to be viewed or edited. @@ -34,9 +35,9 @@ class MemberViewSet(viewsets.ModelViewSet): serializer_class = MemberSerializer permission_classes = [permissions.IsAuthenticated] - #filter_backends = [DjangoFilterBackend] - #filterset_fields = ['legacy_id', 'slug','legacy_rubrik_id'] - lookup_field='name' + # filter_backends = [DjangoFilterBackend] + # filterset_fields = ['legacy_id', 'slug','legacy_rubrik_id'] + lookup_field = 'name' def pre_save(self, obj): - obj.image = self.request.FILES.get('image') \ No newline at end of file + obj.image = self.request.FILES.get('image')