Example #1
0
def cuadro_1(request):
	grupos = Group.objects.all().values_list('pk', flat=True)
	grp_user = request.user.groups.all().values_list('pk', flat=True)
	mostrar_centros = False
	periodos,centro = '',''
	if len(set([13,14]).intersection(set(grp_user))) > 0:
		per = DirectorDepartamental.objects.get(persona__identidad = request.user.username[:13])
		dep = Departamento.objects.filter(pk = per.direccion_departamental.departamento.pk)
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	elif len(set([8,19]).intersection(set(grp_user))) > 0:
		per = DirectorDistrital.objects.get(persona__identidad = request.user.username[:13])
		dep = Departamento.objects.filter(pk = per.direccion_distrital.municipio.departamento.pk)
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	elif len(set([1,2,3,4,6,7]).intersection(set(grp_user))) > 0:
		mostrar_centros = False
		centro = validar_usuario(request.user)
		centros = centro
		periodos = obtener_periodosEscolares(centro,tmp='2')
	elif len(set([27]).intersection(set(grp_user))) > 0 and  request.method == 'GET':
		plazas = ''
		try:
			plazas = Plaza.objects.filter(docente__persona__identidad = request.user.username[:13]).order_by('centro')
			if not plazas:
				plazas = Plaza.objects.filter(docente__persona__identidad = request.user.username[:15]).order_by('centro')
		except Exception,e:
			raise Http404
		else:
			return render_to_response('pre_cuadro1.html',{'plazas':plazas,'tipo':2},context_instance=RequestContext(request))
Example #2
0
def certificado_estudios(request):
	if request.method == 'GET':
		centro = validar_usuario(request.user)
		return render_to_response('seleccionar_seccion.html',{'periodos':obtener_periodosEscolares(centro,tmp='1'),'modalidades':centro.centro_modalidad.all(),'jornadas':centro.jornadas.all(),'accesos':centro.codigos.values_list('codigoapp',flat=True)},context_instance = RequestContext(request))
	else:
		array = request.POST.getlist('array','')[0].split(',')
		for item in array:
			try:
				m = get_object_or_404(Matricula.objects.select_related('alumno__persona','seccion__periodo_clases__centro','seccion__malla_curricular__malla_oficial__curso__ordenamiento'), pk=item)
			except Exception, e:
				pass
		return render_to_response('certificado_estudios.html',{"centro":centro,'tipoID':tipoID,'accesos':validar_usuario(request.user).codigos.values_list('codigoapp',flat=True)},context_instance=RequestContext(request))
Example #3
0
def b_calificacion_final(request):
	grupos = Group.objects.all().values_list('pk', flat=True)
	grp_user = request.user.groups.all().values_list('pk', flat=True)
	mostrar_centros = False
	if len(set([13,14]).intersection(set(grp_user))) > 0:
		per = DirectorDepartamental.objects.get(persona__identidad = request.user.username[:13])
		dep = Departamento.objects.filter(pk = per.direccion_departamental.departamento.pk)
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	elif len(set([8,19]).intersection(set(grp_user))) > 0:
		per = DirectorDistrital.objects.get(persona__identidad = request.user.username[:13])
		dep = Departamento.objects.filter(pk = per.direccion_distrital.municipio.departamento.pk)
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	elif len(set([1,2,3,4,6,7]).intersection(set(grp_user))) > 0:
		mostrar_centros = False
		centro = validar_usuario(request.user)
		centros = centro
		periodos = obtener_periodosEscolares(centro,tmp='2')
	else:
		dep = Departamento.objects.all()
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	if request.method == 'GET':
		if mostrar_centros:
			return render_to_response('b_calificacion_final_query.html',{'mc':mostrar_centros,'centros':centros},context_instance=RequestContext(request))
		else:
			return render_to_response('b_calificacion_final_query.html',{'codigo_centro':centro.codigo, 'mc':mostrar_centros,'centros':centros,'periodos':periodos,'modalidades':centro.centro_modalidad.all(),'jornadas':centro.jornadas.all()},context_instance=RequestContext(request))
	elif request.method == 'POST':
		query = {}
		query_o = []
		query_v = []
		query_sr = []
		
		query_o.append('matricula__alumno__persona__sexo')
		query_o.append('matricula__alumno__persona__primer_nombre')
		
		query_v.append('matricula__seccion__periodo_clases__descripcion')
		query_v.append('matricula__alumno__persona__identidad')
		query_v.append('matricula__alumno__persona__primer_nombre')
		query_v.append('matricula__alumno__persona__segundo_nombre')
		query_v.append('matricula__alumno__persona__primer_apellido')
		query_v.append('matricula__alumno__persona__segundo_apellido')
		query_v.append('matricula__seccion__periodo_clases__centro__nombre')
		query_v.append('matricula__seccion__periodo_clases__centro__codigo')
		query_v.append('matricula__seccion__periodo_clases__centro__departamento__nombre')
		query_v.append('matricula__seccion__malla_curricular__malla_oficial__curso__modalidad__descripcion')
		query_v.append('matricula__seccion__malla_curricular__malla_oficial__curso__nombre')
		query_v.append('matricula__seccion__descripcion')
		query_v.append('matricula__seccion__jornada__descripcion')
		query_v.append('clase_seccion')
		
		query_sr.append('matricula__alumno__persona')
		query_sr.append('matricula__seccion__periodo_clases__centro')
		query['clase_seccion__plaza__isnull'] = False
		query['clase_seccion__content_type__id'] = 30
		query['matricula__estado__in'] = [1,3,5]
		

		if request.POST.get('periodo','') != '0':
			query['matricula__seccion__periodo_clases'] = request.POST.get('periodo','')
			query_sr.append('matricula__seccion__periodo_clases')
		if request.POST.get('modalidad','') != '0':
			query['matricula__seccion__malla_curricular__malla_oficial__curso__modalidad'] = request.POST.get('modalidad','')
			query_sr.append('matricula__seccion__malla_curricular__malla_oficial__curso__modalidad')
		if request.POST.get('jornada','') != '0':
			query['matricula__seccion__jornada'] = request.POST.get('jornada','')
			query_sr.append('matricula__seccion__jornada')
		if request.POST.get('curso','') != '0':
			query['matricula__seccion__malla_curricular__malla_oficial__curso'] = request.POST.get('curso','')
			query_sr.append('matricula__seccion__malla_curricular__malla_oficial__curso')
		if request.POST.get('seccion','') != '0':
			query['matricula__seccion'] = request.POST.get('seccion','')
			query_sr.append('matricula__seccion')

		#if request.POST.get('clase','') != '0':
			#query['clase_seccion'] = request.POST.get('clase','')
		np = NotaParcial.objects.filter(**query).values(*query_v).annotate(s1=Sum('acumulativo'), s2=Sum('examen')).order_by(*query_o)

		if np:
			data_arr = []
			data_clases = []
			data_notas = []
			
			data_dic = {}
			ant = ''
			cont = 0
			for n in np:
				if ant == n['matricula__alumno__persona__identidad']:
					data_clases.append(ClaseSeccion.objects.get(pk=n['clase_seccion']).info_clase('2'))
					data_notas.append(int(round((float(n['s1'])+float(n['s2']))/4)))

				else:
					cont+=1
					ant = n['matricula__alumno__persona__identidad']
					data_dic['clases'] = data_clases
					data_dic['notas'] = data_notas
					data_arr.append(data_dic)
					data_dic = {}
					data_clases = []
					data_notas = []
					data_dic['matricula__seccion__periodo_clases__descripcion'] = n['matricula__seccion__periodo_clases__descripcion']
					data_dic['matricula__alumno__persona__identidad'] = n['matricula__alumno__persona__identidad']
					data_dic['matricula__alumno__persona__primer_nombre'] = n['matricula__alumno__persona__primer_nombre']
					data_dic['matricula__alumno__persona__segundo_nombre'] = n['matricula__alumno__persona__segundo_nombre']
					data_dic['matricula__alumno__persona__primer_apellido'] = n['matricula__alumno__persona__primer_apellido']
					data_dic['matricula__alumno__persona__segundo_apellido'] = n['matricula__alumno__persona__segundo_apellido']
					data_dic['matricula__seccion__periodo_clases__centro__nombre'] = n['matricula__seccion__periodo_clases__centro__nombre']
					data_dic['matricula__seccion__periodo_clases__centro__codigo'] = n['matricula__seccion__periodo_clases__centro__codigo']
					data_dic['matricula__seccion__periodo_clases__centro__departamento__nombre'] = n['matricula__seccion__periodo_clases__centro__departamento__nombre']
					data_dic['matricula__seccion__malla_curricular__malla_oficial__curso__nombre'] = n['matricula__seccion__malla_curricular__malla_oficial__curso__nombre']
					data_dic['matricula__seccion__descripcion'] = n['matricula__seccion__descripcion']
					data_dic['matricula__seccion__jornada__descripcion'] = n['matricula__seccion__jornada__descripcion']
					data_dic['matricula__seccion__malla_curricular__malla_oficial__curso__modalidad__descripcion'] = n['matricula__seccion__malla_curricular__malla_oficial__curso__modalidad__descripcion']
					data_clases.append(ClaseSeccion.objects.get(pk=n['clase_seccion']).info_clase('2'))
					data_notas.append(int(round((float(n['s1'])+float(n['s2']))/4)))
			del(data_arr[0])
			return render_to_response('b_calificacion_final.html',{'np':data_arr},context_instance=RequestContext(request))
		else:
			if mostrar_centros:
				return render_to_response('b_calificacion_final_query.html',{'error':'El Centro Educativo No Ha Ingresado Notas Para este Periodo Escolar','mc':mostrar_centros,'centros':centros},context_instance=RequestContext(request))
			else:
				return render_to_response('b_calificacion_final_query.html',{'error':'El Centro Educativo No Ha Ingresado Notas Para este Periodo Escolar','codigo_centro':centro.codigo,'mc':mostrar_centros,'centros':centros,'periodos':periodos,'modalidades':centro.centro_modalidad.all(),'jornadas':centro.jornadas.all()},context_instance=RequestContext(request))
Example #4
0
def certificado_basica_final(request, tipo=None):
	grupos = Group.objects.all().values_list('pk', flat=True)
	grp_user = request.user.groups.all().values_list('pk', flat=True)
	mostrar_centros = False
	tipo_id = TipoDocumentoID.objects.filter(pk__in = [1,3])
	if len(set([13,14]).intersection(set(grp_user))) > 0:
		per = DirectorDepartamental.objects.get(persona__identidad = request.user.username[:13])
		dep = Departamento.objects.filter(pk = per.direccion_departamental.departamento.pk)
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	elif len(set([8,19]).intersection(set(grp_user))) > 0:
		per = DirectorDistrital.objects.get(persona__identidad = request.user.username[:13])
		dep = Departamento.objects.filter(pk = per.direccion_distrital.municipio.departamento.pk)
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	elif len(set([1,2,3,4,6,7]).intersection(set(grp_user))) > 0:
		mostrar_centros = False
		centro = validar_usuario(request.user)
		centros = centro
		periodos = obtener_periodosEscolares(centro,tmp='2')
	else:
		dep = Departamento.objects.all()
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	if request.method == 'GET':
		if mostrar_centros:
			return render_to_response('certificado_basica_query.html',{'tipoID':tipo_id,'tipo':tipo,'mc':mostrar_centros,'centros':centros},context_instance=RequestContext(request))
		else:
			return render_to_response('certificado_basica_query.html',{'tipoID':tipo_id,'tipo':tipo,'codigo_centro':centro.codigo, 'mc':mostrar_centros,'centros':centros,'periodos':periodos,'modalidades':centro.centro_modalidad.all(),'jornadas':centro.jornadas.all()},context_instance=RequestContext(request))
	elif request.method == 'POST':
		query = {}
		query_o = []
		query_v = []
		query_sr = []
		
		query_o.append('matricula')
		
		query_v.append('matricula__seccion__periodo_clases__descripcion')
		query_v.append('matricula')
		query_v.append('matricula__alumno__persona__identidad')
		query_v.append('matricula__alumno__persona__primer_nombre')
		query_v.append('matricula__alumno__persona__segundo_nombre')
		query_v.append('matricula__alumno__persona__primer_apellido')
		query_v.append('matricula__alumno__persona__segundo_apellido')
		query_v.append('matricula__alumno__persona__sexo')
		query_v.append('matricula__seccion__periodo_clases__centro__nombre')
		query_v.append('matricula__seccion__periodo_clases__centro__codigo')
		query_v.append('matricula__seccion__periodo_clases__centro__departamento__nombre')
		query_v.append('matricula__seccion__periodo_clases__centro__municipio__nombre')
		query_v.append('matricula__seccion__periodo_clases__centro__aldea__nombre')
		query_v.append('matricula__seccion__malla_curricular__malla_oficial__curso__modalidad__descripcion')
		query_v.append('matricula__seccion__malla_curricular__malla_oficial__curso__nombre')
		query_v.append('matricula__seccion__descripcion')
		query_v.append('matricula__seccion__jornada__descripcion')
		query_v.append('clase_seccion')
		query_v.append('clase_seccion__content_type')
		query_sr.append('matricula__alumno__persona')
		query_sr.append('matricula__seccion__periodo_clases__centro')

		query['clase_seccion__plaza__isnull'] = False
		query['clase_seccion__content_type__id'] = 30
		query['matricula__estado__in'] = [1,3,5]
		if request.POST.get('tipo_id','') != '0' and request.POST.get('identidad_alumno','') != '':
			query['matricula__alumno__persona__identidad'] = request.POST.get('identidad_alumno','')
			query['matricula__alumno__persona__tipoID'] = request.POST.get('tipo_id','')
		else:
			if request.POST.get('periodo','') != '0':
				query['matricula__seccion__periodo_clases'] = request.POST.get('periodo','')
				query_sr.append('matricula__seccion__periodo_clases')
			if request.POST.get('modalidad','') != '0':
				query['matricula__seccion__malla_curricular__malla_oficial__curso__modalidad'] = request.POST.get('modalidad','')
				query_sr.append('matricula__seccion__malla_curricular__malla_oficial__curso__modalidad')
			if request.POST.get('jornada','') != '0':
				query['matricula__seccion__jornada'] = request.POST.get('jornada','')
				query_sr.append('matricula__seccion__jornada')
			if request.POST.get('curso','') != '0':
				query['matricula__seccion__malla_curricular__malla_oficial__curso'] = request.POST.get('curso','')
				query_sr.append('matricula__seccion__malla_curricular__malla_oficial__curso')
			if request.POST.get('seccion','') != '0':
				query['matricula__seccion'] = request.POST.get('seccion','')
				query_sr.append('matricula__seccion')

		#if request.POST.get('clase','') != '0':
			#query['clase_seccion'] = request.POST.get('clase','')

		np = NotaParcial.objects.filter(**query).values(*query_v).annotate(s1=Sum('acumulativo'), s2=Sum('examen')).order_by(*query_o)
		if np:
			data_arr = []
			data_clases = []
			data_notas = []
			
			data_dic = {}
			ant = ''
			cont = 1
			indice_promocion = 0.0
			for n in np:
				if ant == n['matricula__alumno__persona__identidad']:
					cont+=1
					nota = int(round((float(n['s1'])+float(n['s2']))/4))
					#Aca revisar si ese alumno tiene recuperacion y si se quedo
					if nota < 60:
						#Ir a revisar si tiene nota recuperacion
						np = NotaRecuperacion.objects.filter(matricula=n['matricula'],clase_seccion=n['clase_seccion'])
						if np.exists():
							nota = int(np[0].examen)
					indice_promocion += nota
					data_clases.append([ClaseSeccion.objects.get(pk=n['clase_seccion']).info_clase('2'),nota])
				else:
					ant = n['matricula__alumno__persona__identidad']
					data_dic['clases'] = data_clases
					data_dic['promocion'] = int(round(indice_promocion/cont))
					data_dic['sexo'] = 'o' if n['matricula__alumno__persona__sexo'] == 'M' else 'a'
					if data_dic['promocion'] < 60:
						data_dic['promovido'] = 'NO SERA PROMOVID%s' % ( 'O' if n['matricula__alumno__persona__sexo'] == 'M' else 'A')
					else:
						data_dic['promovido'] = 'SERA PROMOVID%s' % ( 'O' if n['matricula__alumno__persona__sexo'] == 'M' else 'A')
					
					data_arr.append(data_dic)
					cont=1
					data_dic = {}
					data_clases = []
					data_notas = []
					indice_promocion = 0.00
					data_dic['matricula__seccion__periodo_clases__descripcion'] = n['matricula__seccion__periodo_clases__descripcion']
					data_dic['matricula__alumno__persona__identidad'] = n['matricula__alumno__persona__identidad']
					data_dic['matricula__alumno__persona__primer_nombre'] = n['matricula__alumno__persona__primer_nombre']
					data_dic['matricula__alumno__persona__segundo_nombre'] = n['matricula__alumno__persona__segundo_nombre']
					data_dic['matricula__alumno__persona__primer_apellido'] = n['matricula__alumno__persona__primer_apellido']
					data_dic['matricula__alumno__persona__segundo_apellido'] = n['matricula__alumno__persona__segundo_apellido']
					data_dic['matricula__seccion__periodo_clases__centro__nombre'] = n['matricula__seccion__periodo_clases__centro__nombre']
					data_dic['matricula__seccion__periodo_clases__centro__codigo'] = n['matricula__seccion__periodo_clases__centro__codigo']
					data_dic['matricula__seccion__periodo_clases__centro__departamento__nombre'] = n['matricula__seccion__periodo_clases__centro__departamento__nombre']
					data_dic['matricula__seccion__periodo_clases__centro__municipio__nombre'] = n['matricula__seccion__periodo_clases__centro__municipio__nombre']
					data_dic['matricula__seccion__periodo_clases__centro__aldea__nombre'] = n['matricula__seccion__periodo_clases__centro__aldea__nombre']
					data_dic['matricula__seccion__malla_curricular__malla_oficial__curso__nombre'] = n['matricula__seccion__malla_curricular__malla_oficial__curso__nombre']
					data_dic['matricula__seccion__descripcion'] = n['matricula__seccion__descripcion']
					data_dic['matricula__seccion__jornada__descripcion'] = n['matricula__seccion__jornada__descripcion']
					data_dic['matricula__seccion__malla_curricular__malla_oficial__curso__modalidad__descripcion'] = n['matricula__seccion__malla_curricular__malla_oficial__curso__modalidad__descripcion']
					#personality = Student_Personality.objects.filter(registration=n['matricula'])
					if personality:
						data_dic['personality'] = personality
					inas = Inasistencia.objects.filter(matricula=n['matricula']).values('matricula').annotate(s1=Sum('total_dias'))
					if inas:
						data_dic['inasistencia'] = inas[0]['s1']
					else:
						data_dic['inasistencia'] = 'No Se Reporto'
					nota = int(round((float(n['s1'])+float(n['s2']))/4))
					#Aca revisar si ese alumno tiene recuperacion y si se quedo
					if nota < 60:
						#Ir a revisar si tiene nota recuperacion
						np = NotaRecuperacion.objects.filter(matricula=n['matricula'],clase_seccion=n['clase_seccion'])
						if np.exists():
							nota = int(np[0].examen)
					indice_promocion += nota
					data_clases.append([ClaseSeccion.objects.get(pk=n['clase_seccion']).info_clase('2'),nota])
			ant = n['matricula__alumno__persona__identidad']
			data_dic['clases'] = data_clases
			data_dic['promocion'] = int(round(indice_promocion/cont))
			data_dic['sexo'] = 'o' if n['matricula__alumno__persona__sexo'] == 'M' else 'a'
			if data_dic['promocion'] < 60:
				data_dic['promovido'] = 'NO SERA PROMOVID%s' % ( 'O' if n['matricula__alumno__persona__sexo'] == 'M' else 'A')
			else:
				data_dic['promovido'] = 'SERA PROMOVID%s' % ( 'O' if n['matricula__alumno__persona__sexo'] == 'M' else 'A')
			
			data_arr.append(data_dic)
			del(data_arr[0])
			return render_to_response('certificado_basica.html',{'tipo':tipo,'np':data_arr},context_instance=RequestContext(request))
		else:
			if mostrar_centros:
				return render_to_response('certificado_basica.html',{'tipo':tipo,'error':'El Centro Educativo No Ha Ingresado Notas Para este Periodo Escolar','mc':mostrar_centros,'centros':centros},context_instance=RequestContext(request))
			else:
				return render_to_response('certificado_basica.html',{'tipo':tipo,'error':'El Centro Educativo No Ha Ingresado Notas Para este Periodo Escolar','codigo_centro':centro.codigo,'mc':mostrar_centros,'centros':centros,'periodos':periodos,'modalidades':centro.centro_modalidad.all(),'jornadas':centro.jornadas.all()},context_instance=RequestContext(request))
Example #5
0
def resultado_final(request, tipo=None):
	grupos = Group.objects.all().values_list('pk', flat=True)
	grp_user = request.user.groups.all().values_list('pk', flat=True)
	mostrar_centros = False
	if len(set([13,14]).intersection(set(grp_user))) > 0:
		per = DirectorDepartamental.objects.get(persona__identidad = request.user.username[:13])
		dep = Departamento.objects.filter(pk = per.direccion_departamental.departamento.pk)
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	elif len(set([8,19]).intersection(set(grp_user))) > 0:
		per = DirectorDistrital.objects.get(persona__identidad = request.user.username[:13])
		dep = Departamento.objects.filter(pk = per.direccion_distrital.municipio.departamento.pk)
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	elif len(set([1,2,3,4,6,7]).intersection(set(grp_user))) > 0:
		mostrar_centros = False
		centro = validar_usuario(request.user)
		centros = centro
		periodos = obtener_periodosEscolares(centro,tmp='2')
	else:
		dep = Departamento.objects.all()
		centros = CentroEducativo.objects.filter(departamento__in = dep).values_list('codigo', flat=True).order_by('codigo')
		mostrar_centros = True
	
	if request.method == 'POST':
		seccion = Seccion.objects.get(pk=request.POST.get('seccion',''))
		matriculas_1 = Matricula.objects.filter(seccion = seccion, estado__in = [1,5])
		matriculas_2 = Matricula.objects.filter(seccion = seccion, estado__in = [2,3,4])
		clases = ClaseSeccion.objects.filter(seccion = seccion, plaza__isnull = False, content_type__id = 30)
		notas = NotaParcial.objects.filter(clase_seccion__seccion = seccion)
		parciales = Parcial.objects.filter(periodo = request.POST.get('periodo',''))
		
		header = {}
		header['code'] = seccion.periodo_clases.centro.codigo
		header['name'] = seccion.periodo_clases.centro.nombre
		header['grade'] = seccion.malla_curricular.malla_oficial.curso.nombre
		header['section'] = seccion.descripcion
		header['period'] = seccion.periodo_clases.descripcion
		header['modalidad'] = seccion.malla_curricular.malla_oficial.curso.modalidad.descripcion
		header['jornada'] = seccion.jornada.descripcion
		header['place'] = seccion.periodo_clases.centro.departamento
		header['es_media'] = False if seccion.malla_curricular.malla_oficial.curso.modalidad.codigo == 0 else True
		
		
		lista = []
		
		for m in matriculas_1:
			data = {}
			data['nombre'] = m.alumno.persona
			data['identidad'] = m.alumno.persona.identidad
			lista_notas = []
			cont = 0
			acum = 0.0
			count_aplazadas = 0
			for c in clases:
				total = 0
				cont+=1
				n = notas.filter(matricula = m,clase_seccion = c).order_by('clase_seccion')
				for info in n:
					total += float(info.acumulativo) + float(info.examen)
				if total/4 < 60:
					np = NotaRecuperacion.objects.filter(matricula=m,clase_seccion=c)
					if np.exists():
						nota_r = int(np[0].examen)
						if nota_r < 60:
							count_aplazadas+=1
					else:
						count_aplazadas+=1
				nota = int(round(total/4))
				acum+=nota
				lista_notas.append(nota)
				data['promocion'] = lista_notas
			prmedio = round(acum/cont)
			data['promedio'] = int(prmedio)
			if m.estado in [2,4]:
				data['promedio_valor'] = m.get_estado_display()
			else:
				if count_aplazadas > 1:
					data['promedio_valor'] = 'No Satisfactorio'
				else:
					data['promedio_valor'] = 'No Satisfactorio' if data['promedio'] < 59.0 else 'Bueno' if data['promedio'] > 59 and data['promedio'] < 80 else 'Muy Bueno' if data['promedio'] > 79 and data['promedio'] < 91 else 'Sobresaliente'
			lista.append(data)
		for m in matriculas_2:
			data = {}
			data['nombre'] = m.alumno.persona
			data['identidad'] = m.alumno.persona.identidad
			lista_notas = []
			cont = 0
			acum = 0.0
			count_aplazadas = 0
			for c in clases:
				total = 0
				cont+=1
				n = notas.filter(matricula = m,clase_seccion = c).order_by('clase_seccion')
				for info in n:
					total += float(info.acumulativo) + float(info.examen)
				if total/4 < 60:
					np = NotaRecuperacion.objects.filter(matricula=m,clase_seccion=c)
					if np.exists():
						nota_r = int(np[0].examen)
						if nota_r < 60:
							count_aplazadas+=1
					else:
						count_aplazadas+=1
				nota = int(round(total/4))
				acum+=nota
				lista_notas.append(nota)
				data['promocion'] = lista_notas
			prmedio = round(acum/cont)
			data['promedio'] = int(prmedio)
			if m.estado in [2,3,4]:
				data['promedio_valor'] = m.get_estado_display()
			else:	
				if count_aplazadas > 1:
					data['promedio_valor'] = 'No Satisfactorio'
				else:
					data['promedio_valor'] = 'No Satisfactorio' if data['promedio'] < 59.0 else 'Bueno' if data['promedio'] > 59 and data['promedio'] < 80 else 'Muy Bueno' if data['promedio'] > 79 and data['promedio'] < 91 else 'Sobresaliente'
			lista.append(data)	
		return render_to_response('resultado_final.html',{'tipo':tipo,'clases':clases,'data':lista,'header':header},context_instance=RequestContext(request))
	elif request.method == 'GET':
		if mostrar_centros:
			return render_to_response('pre_resultado_final.html',{'tipo':tipo,'mc':mostrar_centros,'centros':centros},context_instance=RequestContext(request))
		else:
			return render_to_response('pre_resultado_final.html',{'tipo':tipo,'codigo_centro':centro.codigo, 'mc':mostrar_centros,'centros':centros,'periodos':periodos,'modalidades':centro.centro_modalidad.all(),'jornadas':centro.jornadas.all()},context_instance=RequestContext(request))
Example #6
0
		else:
			ret_data['seccion'] = request.POST.get('seccion','')
		if request.POST.get('clase','') == '0':
			errores['clase'] = u'Seleccione la Clase'

		if errores:
			if mostrar_centros:
				return render_to_response('pre_cuadro1.html',{'tipo':tipo,'ret_data':ret_data,'errores':errores,'mc':mostrar_centros,'centros':centros},context_instance=RequestContext(request))
			else:
				return render_to_response('pre_cuadro1.html',{'tipo':tipo,'ret_data':ret_data,'errores':errores,'codigo_centro':centro.codigo,'mc':mostrar_centros,'centros':centros,'periodos':periodos,'modalidades':centro.centro_modalidad.all(),'jornadas':centro.jornadas.all()},context_instance=RequestContext(request))
		else:
			s = Seccion.objects.get(pk = request.POST.get('seccion',''))
			data['instituto'] = s.periodo_clases.centro
			data['seccion'] = s
			data['jornada'] = data['instituto'].jornadas.get(pk = request.POST.get('jornada',''))
			data['periodo'] = obtener_periodosEscolares(data['instituto']).get(pk = request.POST.get('periodo',''))
			info_notas = NotaParcial.objects.filter(clase_seccion = request.POST.get('clase',''))
			
			alumnos_1 = Matricula.objects.filter(seccion = data['seccion'], estado__in = [1,5]).order_by('alumno__persona__sexo','alumno__persona__primer_nombre')
			alumnos_2 = Matricula.objects.filter(seccion = data['seccion'], estado__in = [2,3,4]).order_by('alumno__persona__sexo','alumno__persona__primer_nombre')
			parciales = Parcial.objects.filter(periodo=data['periodo']).order_by('fecha_inicio')
			if not info_notas:
				return HttpResponse(u'Aun no se han ingresado notas a esta sección')
			data['catedratico'] = info_notas[0].clase_seccion.plaza.docente.persona.__unicode__()
			data['asignatura'] = info_notas[0].clase_seccion.info_clase(2)
			datos = []
			orden = 1
			par = []
			for p in parciales:
				par.append(p.pk)
			for al in alumnos_1: