Commit 9bc1d969 authored by Ali Riza Keles's avatar Ali Riza Keles

ADD: sube kaydet ardindan sinavlari olustur, sube kayit ederken donemi guncel doneme bagla

parent 29257e73
......@@ -201,6 +201,16 @@ class Donem(Model):
bitis_tarihi = field.Date("Bitiş Tarihi", index=True, format="%d.%m.%Y")
guncel = field.Boolean(index=True)
@classmethod
def guncel_donem(cls):
return cls.objects.get(guncel=True)
def pre_save(self):
if self.guncel:
old = self.guncel_donem()
old.guncel = False
old.save()
class Meta:
app = 'Ogrenci'
verbose_name = "Dönem"
......@@ -288,7 +298,7 @@ class Ders(Model):
yerine_ders = LinkProxy("Ders", verbose_name="Yerine Açılan Ders", reverse_name="")
class Degerlendirme(ListNode):
tur = field.String("Değerlendirme Türü", index=True)
tur = field.Integer("Değerlendirme Türü", choices="sinav_turleri", index=True)
toplam_puana_etki_yuzdesi = field.Integer("Toplam Puana Etki Yüzdesi", index=True)
class DersYardimcilari(ListNode):
......@@ -358,6 +368,12 @@ class Sube(Model):
list_fields = ['ad', 'kontenjan']
search_fields = ['ad', 'kontenjan']
def sube_sinavlarini_olustur(self):
for dg in self.ders.Degerlendirme:
sinav = Sinav(tur=dg.tur, sube=self, ders=self.ders)
sinav.save()
def __unicode__(self):
return '%s %s' % (self.ad, self.kontenjan)
......@@ -391,7 +407,7 @@ class Sinav(Model):
search_fields = ['aciklama', 'tarih']
def __unicode__(self):
return '%s %s' % (self.tarih, self.yapilacagi_yer)
return '%s %s %s' % (self.get_tur_display(), self.ders, self.sube)
class DersProgrami(Model):
......@@ -603,6 +619,10 @@ class OgrenciDersi(Model):
list_fields = ['sube_dersi', 'alis_bicimi']
search_fields = ['alis_bicimi', ]
def pre_save(self):
self.donem = self.ders.donem
def sube_dersi(self):
"""
Şubenin bağlı olduğu ders.
......
......@@ -376,7 +376,9 @@ class DersSubelendirme(CrudView):
sube.kontenjan = s['kontenjan']
sube.dis_kontenjan = s['dis_kontenjan']
sube.ad = s['ad']
sube.donem = Donem.guncel_donem()
sube.save()
sube.sube_sinavlarini_olustur()
if is_new:
self.current.task_data['just_created'].append((ders, sube.key))
# mevcut subelerde kalanlari sil
......
......@@ -537,7 +537,7 @@ class KayitDondurma(CrudView):
self.current.output['msgbox'] = {
'type': 'warning', "title": 'Bir Hata Oluştu',
"msg": 'Hata Kodu : %s' % (e.message)
"msg": 'Hata Kodu : %s' % e.message
}
try:
......@@ -555,7 +555,7 @@ class KayitDondurma(CrudView):
self.current.output['msgbox'] = {
'type': 'warning', "title": 'Bir Hata Oluştu',
"msg": 'Öğrenci Rol Değişim Kaydı Başarısız. Hata Kodu : %s' % (e.message)
"msg": 'Öğrenci Rol Değişim Kaydı Başarısız. Hata Kodu : %s' % e.message
}
# öğrencinin danışmanına bilgilendirme geçilir
......@@ -600,8 +600,9 @@ class BasariDurum(CrudView):
ogrenci=ogrenci)
donemler = [d.donem for d in ogrenci_program.OgrenciDonem]
donemler = sorted(donemler, key=lambda donem: donem.baslangic_tarihi)
# donemler = ogrenci_program.tarih_sirasiyla_donemler()
donem_tablosu = []
donem_tablosu = list()
for donem in donemler:
donem_basari_durumu = [
......@@ -609,8 +610,9 @@ class BasariDurum(CrudView):
]
ogrenci_dersler = OgrenciDersi.objects.filter(donem=donem,
ogrenci_program=ogrenci_program)
dersler = []
dersler = list()
for d in ogrenci_dersler:
dersler = list()
dersler.append(d.ders.ders.kod)
dersler.append(d.sube_ders_adi())
degerlendirmeler = DegerlendirmeNot.objects.filter(
......@@ -631,10 +633,12 @@ class BasariDurum(CrudView):
donem_tablosu.append(
{
"key": donem.ad,
"selected": donem.guncel,
"objects": donem_basari_durumu
}
)
self.output['objects'] = donem_tablosu
self.output['meta']['selective_listing'] = True
self.output['meta']['selective_listing_title'] = "Dönem Seçiniz"
self.output['meta']['allow_actions'] = False
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment