Esempio n. 1
0
 def edit(self, correccionID, **form_data):
     correccion = Correccion.get(correccionID)
     entregas_opts = [(e.id, '%s - %s' % (e.fecha, e.estadorepr())) for e in correccion.entregas]
     corrector_opts = [(di.id, unicode(di.docente))
             for di in correccion.instancia.get_posibles_correctores()]
     options = dict(entregaID=entregas_opts, correctorID=corrector_opts)
     return dict(correccion=correccion,
             correccion_form=correccion_form, options=options,
             action=url('save', correccionID = correccion.id))
Esempio n. 2
0
 def get_mis_fuentes_instancia(self, instanciaID):
     try:
         instancia = InstanciaDeEntrega.get(instanciaID)
         docenteInscripto = DocenteInscripto.pk.get(instancia.ejercicio.curso.id, identity.current.user.id)
         if docenteInscripto is not None:
             r = [e for e in instancia.entregas if Correccion.selectBy(entrega=e, corrector=docenteInscripto).count() == 1]
             return self.enviar_zip(r, "mis_entregas_instancia_%u.%u.zip" % (instancia.ejercicio.numero, instancia.numero))
         else:
             flash(_(u'Docente no inscripto.'))
             raise redirect('/')
     except:
         flash(_(u'Instancia incorrecta.'))
         raise redirect('/')
Esempio n. 3
0
    def generar_contexto(self, alumnos_inscriptos):
        from sercom.model import Correccion
        instancias_anteriores = list(self.instancia_destino.get_instancias_cursos_anteriores())
        alumnos = [ai.alumno for ai in alumnos_inscriptos]
        correcciones = Correccion.get_por_alumnos_e_instancias(alumnos, instancias_anteriores)
        correcciones_por_alumno = dict([ (a, []) for a in alumnos ])
        for c in correcciones:
            correcciones_por_alumno[c.entregador.alumno].append(c)

        #se orden las correcciones dependiendo de la instancia y en orden inverso
        for ai in alumnos_inscriptos:
            correcciones_por_alumno[ai.alumno].sort(lambda x,y: cmp(y.instancia,x.instancia))
        return ContextoAprobadosCursadaAnterior(instancias_anteriores, correcciones_por_alumno)
Esempio n. 4
0
 def save(self, correccionID, **form_data):
     correccion = Correccion.get(correccionID)
     correccion.set(**form_data)
     flash('La corrección fue grabada correctamente.')
     raise redirect('edit',dict(correccionID=correccionID, form_data=form_data))