|
- from django.contrib import admin
- from .models import Betrieb, Partei, PresidentCandidate, Question
- from startpage.models import Banned
- from django.contrib.admin import helpers
- from django.shortcuts import render
- from django.template.defaulttags import register
-
-
- @register.filter
- def get_item(dictionary, key):
- return dictionary.get(key)
-
-
- def ban_ip(modeladmin, request, queryset):
- for obj in queryset:
- banned = Banned(ip_address=obj.ip_address,
- reason="")
- banned.save()
- modeladmin.message_user(request, "Ausgewählte Urheber erfolgreich verbannt.")
- ban_ip.short_description = "Urheber ausgewählter Eintrage verbannen"
-
-
- def create_overview(modeladmin, request, queryset):
- if request.POST.get('back'):
- pass
- else:
- raummap = {}
- for b in queryset:
- if b.raum in raummap:
- raummap[b.raum]["anzahl"] += 1
- raummap[b.raum]["belegung"] += b.raumforderung
- else:
- raummap[b.raum] = {"anzahl": 1, "belegung": b.raumforderung}
- context = {'action_checkbox_name': helpers.ACTION_CHECKBOX_NAME,
- 'betriebe': queryset,
- 'arbeitnehmer_gesamt': sum([b.arbeitnehmerzahl for b in
- queryset]),
- 'raummap': raummap,
- 'title': "Betriebsübersicht"}
- return render(request, 'meingoethopia/betriebe_overview.html', context)
-
- create_overview.short_description = "Übersicht erstellen"
-
-
- # Register your models here.
- class BetriebAdmin(admin.ModelAdmin):
- list_display = ('name', 'manager', 'aufsicht', 'raum',
- 'arbeitnehmerzahl_kurz', 'confirmed',
- 'approved')
- list_filter = ('confirmed', 'approved', 'raum')
- search_fields = ('name', 'manager', 'raum', 'aufsicht')
- actions = [ban_ip, create_overview]
-
-
- class ParteiAdmin(admin.ModelAdmin):
- list_display = ('name', 'abbreviation', 'chef', 'description', 'confirmed',
- 'approved')
- list_filter = ('confirmed', 'approved')
- actions = [ban_ip]
-
-
- class PresidentAdmin(admin.ModelAdmin):
- list_display = ('name', 'confirmed', 'approved')
- list_filter = ('confirmed', 'approved')
- actions = [ban_ip]
-
-
- class QuestionAdmin(admin.ModelAdmin):
- list_display = ('subject', 'answered')
- list_filter = ('answered',)
- actions = [ban_ip]
-
- admin.site.register(Betrieb, BetriebAdmin)
- admin.site.register(Partei, ParteiAdmin)
- admin.site.register(PresidentCandidate, PresidentAdmin)
- admin.site.register(Question, QuestionAdmin)
|