Web M&M
https://mam.matfyz.cz
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.0 KiB
66 lines
2.0 KiB
# -*- 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 models import Prednaska, Seznam, STAV_NAVRH
|
|
from seminar.models import Soustredeni
|
|
|
|
class Seznam_PrednaskaInline(admin.TabularInline):
|
|
model = Prednaska.seznamy.through
|
|
fields = ('nazev','obor','org')
|
|
readonly_fields = ('nazev','obor','org')
|
|
can_delete = True
|
|
|
|
def nazev(self,obj):
|
|
print self,obj
|
|
return obj.prednaska.nazev
|
|
def obor(self,obj):
|
|
print self,obj
|
|
return obj.prednaska.obor
|
|
def org(self,obj):
|
|
print self,obj
|
|
return obj.prednaska.org
|
|
|
|
def get_queryset(self, request):
|
|
qs = super(Seznam_PrednaskaInline, self).get_queryset(request)
|
|
return qs.select_related('prednaska', 'prednaska__org')
|
|
|
|
class SeznamAdmin(VersionAdmin):
|
|
list_display = ['soustredeni','stav']
|
|
inlines = [Seznam_PrednaskaInline]
|
|
|
|
admin.site.register(Seznam,SeznamAdmin)
|
|
|
|
|
|
class PrednaskaAdmin(VersionAdmin):
|
|
list_display = ['nazev', 'org', 'obor']
|
|
list_filter = ['org','obor']
|
|
search_fields = []
|
|
|
|
actions = ['move_to_soustredeni']
|
|
|
|
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í"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin.site.register(Prednaska,PrednaskaAdmin)
|
|
|