diff --git a/prednasky/admin.py b/prednasky/admin.py
index a1d0e63c..a9b94ee0 100644
--- a/prednasky/admin.py
+++ b/prednasky/admin.py
@@ -1,59 +1,100 @@
# -*- coding: utf-8 -*-
from django.contrib import admin
from django.contrib import messages
-from django import forms
from reversion.admin import VersionAdmin
-from autocomplete_light import shortcuts as autocomplete_light
-from django.db import models
+from django.utils.safestring import mark_safe
+from django.utils.html import escape
from models import Prednaska, Seznam, STAV_NAVRH
from seminar.models import Soustredeni
+
class Seznam_PrednaskaInline(admin.TabularInline):
-# form = autocomplete_light.modelform_factory(Prednaska, autocomplete_fields=['nazev'], fields=['nazev'])
model = Prednaska.seznamy.through
-# fields = ['nazev', 'org', 'obor' ]
-# extra = 0
-# formfield_overrides = {
-# models.TextField: {'widget': forms.TextInput},
-# }
+ extra = 0
+
+ def prednaska__nazev(self, obj):
+ return mark_safe(
+ u"{}".format(
+ obj.prednaska.id,
+ escape(obj.prednaska.nazev)
+ )
+ )
+
+ def prednaska__popis(self, obj):
+ return mark_safe(
+ u"
{}
".format(
+ escape(obj.prednaska.popis)
+ )
+ )
+
+ def prednaska__anotace(self, obj):
+ return obj.prednaska.anotace
+
+ def prednaska__org(self, obj):
+ return obj.prednaska.org
+
+ def prednaska__obor(self, obj):
+ return obj.prednaska.obor
+
+ prednaska__nazev.short_description = u'Přednáška'
+ prednaska__popis.short_description = u'Popis pro orgy'
+ prednaska__anotace.short_description = u'Anotace'
+ prednaska__org.short_description = u'Org'
+ prednaska__obor.short_description = u'Obor'
+
+ readonly_fields = [
+ 'prednaska__nazev',
+ 'prednaska__obor',
+ 'prednaska__org',
+ 'prednaska__popis',
+ 'prednaska__anotace',
+ ]
+ exclude = ['prednaska']
+
+ def has_add_permission(self, req): return False
-# def get_queryset(self, request):
-# qs = super(Seznam_PrednaskaInline, self).get_queryset(request)
-# return qs.select_related('seznam', 'prednaska')
class SeznamAdmin(VersionAdmin):
- list_display = ['soustredeni','stav']
- inlines = [Seznam_PrednaskaInline]
+ list_display = ['soustredeni', 'stav']
+ inlines = [Seznam_PrednaskaInline]
-admin.site.register(Seznam,SeznamAdmin)
+admin.site.register(Seznam, SeznamAdmin)
class PrednaskaAdmin(VersionAdmin):
list_display = ['nazev', 'org', 'obor']
- list_filter = ['org','obor']
+ list_filter = ['org', 'obor']
search_fields = []
-
+ filter_horizontal = ('seznamy', )
+
actions = ['move_to_soustredeni']
- def move_to_soustredeni(self,request,queryset):
+ def move_to_soustredeni(self, request, queryset):
sous = Soustredeni.objects.first()
- seznam = Seznam.objects.filter(soustredeni=sous,stav=STAV_NAVRH)
- if len(seznam) == 0:
- self.message_user(request,u"Není definován seznam pro aktuální soustředění, nic se neprovedlo",messages.ERROR)
- return
- seznam = seznam[0]
- for prednaska in queryset:
- prednaska.seznamy.add(seznam)
- prednaska.save()
-
- self.message_user(request,u"Vybrané přednášky ({}) přidány jako návrhy na nejbližší soustředění".format(len(queryset)))
-
- move_to_soustredeni.short_description=u"Přidat přednášky do návrhu na nejbližší soustředění"
-
+ seznam = Seznam.objects.filter(soustredeni=sous, stav=STAV_NAVRH)
+ if len(seznam) == 0:
+ self.message_user(
+ request,
+ u"Není definován seznam pro aktuální soustředění, "
+ u"nic se neprovedlo",
+ messages.ERROR
+ )
+ return
+ seznam = seznam[0]
+ for prednaska in queryset:
+ prednaska.seznamy.add(seznam)
+ prednaska.save()
+ self.message_user(
+ request,
+ u"Vybrané přednášky ({}) přidány jako návrhy na nejbližší "
+ u"soustředění".format(len(queryset))
+ )
-
+ move_to_soustredeni.short_description = (
+ u"Přidat přednášky do návrhu na nejbližší soustředění"
+ )
-admin.site.register(Prednaska,PrednaskaAdmin)
+admin.site.register(Prednaska, PrednaskaAdmin)