def student_index_list(request, student_Id, display): #0=all, 1=last student = get_object_or_404(Student, enrollment_number=student_Id) response = [] enrolls = Enrollment.objects.filter(student=student).order_by('program', 'study_year', 'class_year') prog = "" for enroll in enrolls: out={} out['program'] = enroll.program.descriptor # same program, don't repeat if prog != out['program']: out['noprogram'] = True prog = out['program'] out['enrollment_type'] = enroll.enrol_type+' - '+enroll.get_enrol_type_display() out["redni"]="Redni" if enroll.regular else "Izredni" out["letnik"]=enroll.class_year out["study_year"]=enroll.class_year #out['enroll'] = enroll courses = [] classes = enroll.get_classes() courses2 = Course.objects.filter(curriculum__in=classes).order_by('course_code') enrollsV2 = Enrollment.objects.filter(student = student,class_year = enroll.class_year, program = enroll.program) cntr = 0 for p in courses2: try: course={} cntr += 1 course["cntr"]=str(cntr) course["name"]=p.name course["sifra_predmeta"]=p.course_code course["izvajalci"]=p.predavatelji() signs = [] for enrollV2 in enrollsV2: signups = ExamSignUp.objects.filter(examDate__course__course_code=p.course_code,enroll=enrollV2).order_by('examDate__date') #signups = ExamSignUp.objects.filter(enroll=enrollV2).order_by('examDate__date') signups = filter(lambda s: s.examDate.course.name == p.name, signups) signups = filter(lambda s: (s.result_exam != "NR" and s.VP != True), signups) for s in signups: polaganje={} polaganje['datum']=s.examDate.date.strftime("%d.%m.%Y") polaganje['izvajalci']=s.examDate.instructors if(polaganje['izvajalci']==None): polaganje['izvajalci']=p.predavatelji() cur=Curriculum.objects.all().filter(course=p, program=enrollV2.program)[0] if(cur.only_exam==True): polaganje['ocena']=s.result_exam else: polaganje['ocena']=str(s.result_exam)+"/"+ str((s.result_practice if int(s.result_exam) > 5 else 0)) from api.views import _getPolaganja aaa = _getPolaganja(s, student, s.examDate.date) polaganje['stevilo_polaganj'], polaganje['odstevek_ponavljanja'] = _getPolaganja(s, student,s.examDate.date) polaganje['polaganja_letos']=s.examDate.course.nr_attempts_this_year_till_now(student,s.examDate.date) polaganje['odstevek_ponavljanja'] = polaganje['odstevek_ponavljanja'] if str(enrollV2.enrol_type) == "V2" else 0 #aaa = (polaganje['stevilo_polaganj'] - polaganje['odstevek_ponavljanja'], polaganje['polaganja_letos']) aaa = (polaganje['stevilo_polaganj'], polaganje['polaganja_letos']) polaganje['polaganja'] = str(aaa[0]) + ((" - "+str(aaa[1])) if aaa[1]>0 else "") signs.append(polaganje) if (display == "1" and len(signs)>1): signs = signs[-1:] course["signups"] = signs courses = courses+[course] except: raise pass out["courses"]=courses out["povprecje_izpitov"]=str(enroll.get_exam_avg())[0:5] out["povprecje_vaj"]=str(enroll.get_practice_avg())[0:5] out["povprecje"]=str(enroll.get_avg())[0:5] response = response + [out] return render_to_response('admin/student/student_index_list.html', {'student':student, 'data':response}, RequestContext(request))
for p in prijave: if not showVP and p.VP: continue prijava = {} prijava['id'] = p.id prijava['priimek'] = p.enroll.student.surname prijava['ime'] = p.enroll.student.name prijava['leto'] = str(p.enroll.study_year) + "/" + str(p.enroll.study_year + 1) prijava['vpisna_st'] = p.enroll.student.enrollment_number prijava['opcije']= p.RESULTS prijava['tockeIzpit'] = "0" if p.points == None else p.getPointsExam() prijava['tockeOstalo'] = "0" if p.points == None else p.getPointsOther() prijava['ocena_izpita'] = p.result_exam prijava['ocena_vaj']=p.result_practice prijava['negativno'] = p.resultNegative() stevilo_polaganj, odstevek_ponavljanja = _getPolaganja(p, p.enroll.student, exam.date) polaganja_letos=exam.course.nr_attempts_this_year_till_now(p.enroll.student,exam.date) odstevek_ponavljanja = odstevek_ponavljanja if str(p.enroll.enrol_type) == "V2" else 0 #aaa = (stevilo_polaganj - odstevek_ponavljanja, polaganja_letos) aaa = (stevilo_polaganj, polaganja_letos) prijava['polaganja'] = str(aaa[0]) + ((" - "+str(aaa[1])) if aaa[1]>0 else "") #polaganja = _getPolaganja(p, p.enroll.student, exam.date) #prijava['polaganja'] = str(polaganja[0]) + ((" "+str(polaganja[1])) if polaganja[1]>0 else "") #prijava['stevilo_polaganj'], prijava['odstevek_ponavljanja'] = _getPolaganja(p, p.enroll.student,p.examDate.date) prijava['VP'] = p.VP result = result + [prijava]