diff --git a/fet2020/fet2020/settings.py b/fet2020/fet2020/settings.py index 79f1572e..8a9d57ce 100644 --- a/fet2020/fet2020/settings.py +++ b/fet2020/fet2020/settings.py @@ -40,7 +40,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - 'taggit', + 'taggit', 'ckeditor', 'ckeditor_uploader', 'rest_framework', @@ -160,5 +160,5 @@ CKEDITOR_CONFIGS = { }, ], } - + } diff --git a/fet2020/members/admin.py b/fet2020/members/admin.py index 3c5d6897..ba1835e6 100644 --- a/fet2020/members/admin.py +++ b/fet2020/members/admin.py @@ -2,17 +2,66 @@ from django.contrib import admin from .models import Member, Job, JobMember from .forms import MyMemberForm, MyJobForm +from django.utils.translation import gettext as _ + +class ActiveJobFilter(admin.SimpleListFilter): + title = _('Aktiv im Job') + + parameter_name = 'is_active' + + def lookups(self, request, model_admin): + + return ( + ('yes', _('Yes')), + ('no', _('No')), + ) + + def queryset(self, request, queryset): + + if self.value() == 'yes': + return queryset.filter(job_end__isnull=True) + + if self.value() == 'no': + return queryset + +class MemberRoleFilter(admin.SimpleListFilter): + title = _('Rolle') + + parameter_name = 'role' + + def lookups(self, request, model_admin): + + return ( + ('A', _('Aktiv')), + ('P', _('Pension')), + ) + + def queryset(self, request, queryset): + + if self.value() == 'A': + return queryset.filter(role='A') + + if self.value() == 'P': + return queryset.filter(role='P') class JobMemberInline(admin.TabularInline): + list_filter = [ActiveJobFilter] model = JobMember extra = 1 + #def get_queryset(self, request): + # qs = super().get_queryset(request) + # return qs.filter(job_end__isnull=False) + class MyMemberAdmin(admin.ModelAdmin): form = MyMemberForm model = Member list_display = ['name', 'nickname', 'mailaccount', 'role', 'body', 'image'] inlines = (JobMemberInline,) + search_fields = ['name','nickname','mailaccount'] + list_filter = [MemberRoleFilter] + def save_model(self, request, obj, form, change): obj.author = request.user super().save_model(request, obj, form, change) @@ -25,8 +74,10 @@ class MyJobAdmin(admin.ModelAdmin): list_display = ['name', 'body', 'image'] inlines = (JobMemberInline,) + search_fields = ['name'] + def save_model(self, request, obj, form, change): obj.author = request.user super().save_model(request, obj, form, change) -admin.site.register(Job, MyJobAdmin) \ No newline at end of file +admin.site.register(Job, MyJobAdmin) diff --git a/fet2020/members/forms.py b/fet2020/members/forms.py index a92ce5ee..f7d9fa85 100644 --- a/fet2020/members/forms.py +++ b/fet2020/members/forms.py @@ -16,4 +16,4 @@ class MyJobForm(forms.ModelForm): model = Job fields = ['name', 'body', 'image'] - widgets = {'body': CKEditorUploadingWidget(config_name='default')} \ No newline at end of file + widgets = {'body': CKEditorUploadingWidget(config_name='default')} diff --git a/fet2020/members/models.py b/fet2020/members/models.py index c4e535dd..cdba9a08 100644 --- a/fet2020/members/models.py +++ b/fet2020/members/models.py @@ -68,4 +68,4 @@ class JobMember(models.Model): class Meta: unique_together = [['member', 'job']] - jobmember = models.Manager() \ No newline at end of file + jobmember = models.Manager() diff --git a/fet2020/members/urls.py b/fet2020/members/urls.py index 37380afd..44dd1d11 100644 --- a/fet2020/members/urls.py +++ b/fet2020/members/urls.py @@ -5,4 +5,4 @@ from . import views urlpatterns = [ path('', views.index, name='index'), -] \ No newline at end of file +] diff --git a/fet2020/members/views.py b/fet2020/members/views.py index f594e996..84d5470c 100644 --- a/fet2020/members/views.py +++ b/fet2020/members/views.py @@ -15,4 +15,4 @@ def index(request): "jobmember": jobmember } - return render(request, 'member/index.html', context) \ No newline at end of file + return render(request, 'member/index.html', context)