Add class level (and filter on it)
This commit is contained in:
parent
6707a00d6e
commit
20c7637321
5 changed files with 47 additions and 8 deletions
|
|
@ -2,8 +2,8 @@ from django import forms
|
|||
from django.contrib import admin
|
||||
from django.db import models
|
||||
|
||||
from stages.models import (Student, Section, Klass, Referent, Corporation, CorpContact,
|
||||
Domain, Period, Availability, Training)
|
||||
from stages.models import (Student, Section, Level, Klass, Referent, Corporation,
|
||||
CorpContact, Domain, Period, Availability, Training)
|
||||
|
||||
|
||||
class StudentAdmin(admin.ModelAdmin):
|
||||
|
|
@ -77,8 +77,8 @@ class AvailabilityInline(admin.TabularInline):
|
|||
|
||||
|
||||
class PeriodAdmin(admin.ModelAdmin):
|
||||
list_display = ('title', 'dates', 'section')
|
||||
list_filter = ('section',)
|
||||
list_display = ('title', 'dates', 'section', 'level')
|
||||
list_filter = ('section', 'level')
|
||||
inlines = [AvailabilityInline]
|
||||
|
||||
|
||||
|
|
@ -94,6 +94,7 @@ class AvailabilityAdmin(admin.ModelAdmin):
|
|||
|
||||
|
||||
admin.site.register(Section)
|
||||
admin.site.register(Level)
|
||||
admin.site.register(Klass)
|
||||
admin.site.register(Student, StudentAdmin)
|
||||
admin.site.register(Referent, ReferentAdmin)
|
||||
|
|
|
|||
|
|
@ -20,12 +20,36 @@
|
|||
"name": "EDE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pk": 1,
|
||||
"model": "stages.level",
|
||||
"fields": {
|
||||
"name": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pk": 2,
|
||||
"model": "stages.level",
|
||||
"fields": {
|
||||
"name": "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pk": 1,
|
||||
"model": "stages.klass",
|
||||
"fields": {
|
||||
"name": "1ASE3",
|
||||
"section": 1
|
||||
"section": 1,
|
||||
"level": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"pk": 2,
|
||||
"model": "stages.klass",
|
||||
"fields": {
|
||||
"name": "2ASE3",
|
||||
"section": 1,
|
||||
"level": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
|
|
@ -138,6 +162,7 @@
|
|||
"fields": {
|
||||
"title": "Stage de pré-sensibilisation",
|
||||
"section": 1,
|
||||
"level": 1,
|
||||
"start_date": "2012-11-26",
|
||||
"end_date": "2012-12-07"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,9 +23,20 @@ class Section(models.Model):
|
|||
return self.name
|
||||
|
||||
|
||||
class Level(models.Model):
|
||||
name = models.CharField(max_length=10, verbose_name='Nom')
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Niveau"
|
||||
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class Klass(models.Model):
|
||||
name = models.CharField(max_length=10, verbose_name='Nom')
|
||||
section = models.ForeignKey(Section, verbose_name='Filière')
|
||||
level = models.ForeignKey(Level, verbose_name='Niveau')
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Classe"
|
||||
|
|
@ -131,6 +142,7 @@ class Period(models.Model):
|
|||
""" Périodes de stages """
|
||||
title = models.CharField(max_length=150, verbose_name='Titre')
|
||||
section = models.ForeignKey(Section, verbose_name='Filière')
|
||||
level = models.ForeignKey(Level, verbose_name='Niveau')
|
||||
start_date = models.DateField(verbose_name='Date de début')
|
||||
end_date = models.DateField(verbose_name='Date de fin')
|
||||
|
||||
|
|
|
|||
|
|
@ -57,11 +57,12 @@ def section_classes(request, pk):
|
|||
|
||||
|
||||
def period_students(request, pk):
|
||||
""" Return all students from period's section, with corresponding Training
|
||||
if existing (JSON)
|
||||
"""
|
||||
Return all students from period's section and level,
|
||||
with corresponding Training if existing (JSON)
|
||||
"""
|
||||
period = get_object_or_404(Period, pk=pk)
|
||||
students = Student.objects.filter(klass__section=period.section).order_by('last_name')
|
||||
students = Student.objects.filter(klass__section=period.section, klass__level=period.level).order_by('last_name')
|
||||
trainings = dict((t.student_id, t.id) for t in Training.objects.filter(availability__period=period))
|
||||
data = [{
|
||||
'name': unicode(s),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue