def informe_personalizado(request, grupo = None): """ Devuelve el listado de todos los alumnos de la tutoría y un formulario con un intervalo de fechas para generar los informes personalizados. """ if isOrientador(request.user) and grupo: tutor = Tutor.objects.get(grupo = grupo) else: tutor = checkIsTutor(request.user) context = {} form = RangoFechasForm() if request.POST: new_data = request.POST.copy() form = RangoFechasForm(request.POST) if form.is_valid(): fechaInicio = form.cleaned_data['fechaInicio'] fechaFin = form.cleaned_data['fechaFin'] context['fechaInicio'] = fechaInicio context['fechaFin'] = fechaFin context['curso'] = tutor.grupo informe = [] for alu in Alumno.filter(pk__in = new_data.getlist('seleccion')): aux = {} aux['alumno'] = alu aux['informePersonal'] = alu.getResumenTutor(fechaInicio, fechaFin, False) informe.append(aux) context['informe'] = informe if informe and 'pdfSubmit' in new_data: context['profesor'] = tutor.profesor informe = _informePersonalizadoGrupo(context) return informe.HttpResponsePDF(filename="informes") # Esto se pasa en el contexto para indicar que hay más de un formulario en la vista. context['noform'] = True context['profesor'] = tutor.profesor context['grupo'] = tutor.grupo context['alumnos'] = tutor.grupo.getAlumnos() context['form'] = form url = "listaAlumnosTutoria.html" if grupo: url = "listaAlumnosOrientador.html" return render_to_response( 'akademic/richWebBrowser/' + url, context, context_instance=RequestContext(request) )
def resumenEvaluacionProfesor(request, tipo = 'Profesor', grupo = None): """ Devuelve los totales de asistencia, retrasos, comportamiento, tarea y material en las asignaturas y grupos que ha seleccionado el profesor de entre las que él mismo imparte, para facilitar la evaluación """ context = {} if tipo == 'Profesor': profesor = checkIsProfesor(request.user) context['listaAsignaturas'] = profesor.getAsignaturas() else: if isOrientador(request.user) and grupo: tutor = Tutor.objects.get(grupo = grupo) else: tutor = checkIsTutor(request.user) context['listaAsignaturas'] = tutor.getAsignaturasTutoria() form = RangoFechasForm() d = request.POST or request.GET if d: form = RangoFechasForm(d) asignas = d.getlist('asignaturas') if form.is_valid(): fechaInicio = form.cleaned_data['fechaInicio'] fechaFin = form.cleaned_data['fechaFin'] context['fechaInicio'] = fechaInicio context['fechaFin'] = fechaFin context['urlimprimir'] = "fechaInicio_year=%s&fechaInicio_month=%s&fechaInicio_day=%s&" % ( fechaInicio.year, fechaInicio.month, fechaInicio.day) context['urlimprimir'] += "fechaFin_year=%s&fechaFin_month=%s&fechaFin_day=%s" % ( fechaFin.year, fechaFin.month, fechaFin.day) for i in asignas: context['urlimprimir'] += '&asignaturas=%s' % i if tipo == 'Profesor': context['listados'] = profesor.getResumenEvaluacion(asignas, fechaInicio, fechaFin) else: context['listados'] = tutor.profesor.getResumenEvaluacion(asignas, fechaInicio, fechaFin) context['fechaImpresion'] = datetime.datetime.now() context['form'] = form context['noform'] = True if request.GET: if request.GET.has_key('csv'): return CSVResumenEvaluacion (context['listados']) return render_to_response('akademic/richWebBrowser/printResumenEvaluacionProfesor.html', context, context_instance=RequestContext(request)) url = "resumenEvaluacion%s.html" if grupo: url = "resumenEvaluacionOrientador%s.html" return render_to_response('akademic/richWebBrowser/' + url % tipo, context, context_instance=RequestContext(request))
def informe_tutor(request, grupo = None): """ Devuelve un selector de fecha y una vez seleccionada la fecha un informe detallado de todos los eventos producidos en las distintas asignaturas de la tutoría del usuario. """ profesor = None if isOrientador(request.user) and grupo: tutor = Tutor.objects.get(grupo = grupo) else: profesor = checkIsProfesor(request.user) if isJefeEstudios(profesor): tutor = Tutor.objects.get(grupo = grupo) else: tutor = checkIsTutor(request.user) context = {} form = RangoFechasForm() if request.POST: form = RangoFechasForm(request.POST) if form.is_valid(): fechaInicio = form.cleaned_data['fechaInicio'] fechaFin = form.cleaned_data['fechaFin'] context['resumen'] = tutor.getInformeTutor(fechaInicio, fechaFin) context['form'] = form url = "informeTutor.html" if profesor and isJefeEstudios(profesor): url = "informeJefeEstudios.html" elif grupo: url = "informeOrientador.html" return render_to_response( 'akademic/richWebBrowser/' + url, context, context_instance=RequestContext(request) )