def obtenerRubricaXidRubrica(idRubrica): nombreRubrica = Rubrica.obtenerRubrica(idRubrica) d = {} d['idRubrica'] = idRubrica d['nombreRubrica'] = nombreRubrica.nombre d['fechaRegistro'] = nombreRubrica.fecha_registro.__str__() d['flgRubricaEspecial'] = nombreRubrica.flg_rubrica_especial d['idUsuarioCreador'] = nombreRubrica.id_usuario_creador d['tipo'] = nombreRubrica.tipo aspectos = [] if nombreRubrica.tipo != 3: listaAspectos = Rubrica_aspecto.obtenerAspectos(idRubrica) else: listaAspectos = Rubrica_aspecto.obtenerAspectosCoev(idRubrica) for aspecto in listaAspectos: aux = {} aux['idAspecto'] = aspecto.id_aspecto aux['descripcion'] = aspecto.descripcion aux['informacion'] = aspecto.informacion aux['puntajeMax'] = aspecto.puntaje_max aux['tipoClasificacion'] = aspecto.tipo_clasificacion aux['flgGrupal'] = aspecto.flg_grupal indicadores = [] listaIndicadores = Rubrica_aspecto_indicador.obtenerIndicadores( idRubrica, aspecto.id_aspecto) for indicador in listaIndicadores: aux2 = {} aux2['idIndicador'] = indicador.id_indicador aux2['descripcion'] = indicador.descripcion aux2['informacion'] = indicador.informacion aux2['puntajeMax'] = indicador.puntaje_max #aux2['tipo'] = indicador.tipo niveles = [] listaNiveles = Rubrica_aspecto_indicador_nivel.obtenerNiveles( idRubrica, indicador.id_indicador) for nivel in listaNiveles: aux3 = {} aux3['idNivel'] = nivel.id_nivel aux3['descripcion'] = nivel.descripcion aux3['grado'] = nivel.grado aux3['puntaje'] = nivel.puntaje niveles.append(aux3) aux2['listaNiveles'] = niveles aux2['cantNiveles'] = len(niveles) indicadores.append(aux2) aux['listaIndicadores'] = indicadores aux['cantIndicadores'] = len(indicadores) aspectos.append(aux) d['listaAspectos'] = aspectos d['cantAspectos'] = len(aspectos) return d
def editarRubrica(idRubrica, idFlgEspecial, idUsuarioCreador, nombreRubrica, listaAspectos, tipo): Rubrica().editarRubrica(idRubrica, idFlgEspecial, idUsuarioCreador, nombreRubrica, tipo) Rubrica_aspecto_indicador_nivel().borrarNiveles(idRubrica) Rubrica_aspecto_indicador().borrarIndicadores(idRubrica) Rubrica_aspecto().borrarAspectos(idRubrica) for aspecto in listaAspectos: aspectoObjeto = Aspecto( descripcion=aspecto['descripcion'], informacion=aspecto['informacion'], puntaje_max=aspecto['puntajeMax'], tipo_clasificacion=aspecto['tipoClasificacion'], flg_grupal=aspecto['flgGrupal']) listaIndicadores = aspecto['listaIndicadores'] idAspecto = Aspecto().addOne(aspectoObjeto) rubricaAspectoObjeto = Rubrica_aspecto(id_rubrica=idRubrica, id_aspecto=idAspecto) aux = Rubrica_aspecto().addOne(rubricaAspectoObjeto) for indicador in listaIndicadores: indicadorObjeto = Indicador(descripcion=indicador['descripcion'], informacion=indicador['informacion'], puntaje_max=indicador['puntajeMax']) idIndicador = Indicador().addOne(indicadorObjeto) rubricaAspectoIndicadorObj = Rubrica_aspecto_indicador( id_rubrica=idRubrica, id_aspecto=idAspecto, id_indicador=idIndicador) aux2 = Rubrica_aspecto_indicador().addOne( rubricaAspectoIndicadorObj) listaNiveles = indicador['listaNiveles'] for nivel in listaNiveles: nivelObjeto = Nivel(descripcion=nivel['descripcion'], grado=nivel['grado'], puntaje=nivel['puntaje']) idNivel = Nivel().addOne(nivelObjeto) rubricaAspectoIndicadorNivelObj = Rubrica_aspecto_indicador_nivel( id_rubrica=idRubrica, id_aspecto=idAspecto, id_indicador=idIndicador, id_nivel=idNivel) Rubrica_aspecto_indicador_nivel().addOne( rubricaAspectoIndicadorNivelObj) d = {} d['message'] = True return d
def crearRubrica(idActividad, idFlgEspecial, idUsuarioCreador, nombreRubrica, listaAspectos, tipo): rubricaActual = Rubrica.query.filter(Rubrica.id_actividad == idActividad, Rubrica.flg_activo == 1, Rubrica.tipo == tipo).first() if rubricaActual is not None: Rubrica.desactivarRubrica(rubricaActual.id_rubrica) rubricaObjeto = Rubrica(flg_rubrica_especial=idFlgEspecial, id_usuario_creador=idUsuarioCreador, nombre=nombreRubrica, tipo=tipo, id_actividad=idActividad) idRubrica = Rubrica().addOne(rubricaObjeto) """ if tipo == 3: aspectoObjetoCoev = Aspecto( descripcion = "Evaluacion a miembros del grupo", puntaje_max = 5, tipo_clasificacion = 1, flg_grupal = 0 ) idAspectoCoev = Aspecto().addOne(aspectoObjetoCoev) rubricaAspectoObjetoCoev = Rubrica_aspecto( id_rubrica = idRubrica, id_aspecto = idAspectoCoev ) Rubrica_aspecto().addOne(rubricaAspectoObjetoCoev) listaAlumnos = Alumno_actividad.query.filter(Alumno_actividad.id_actividad == idActividad).all() for alumno in listaAlumnos: alumnoCompanero = Usuario.query.filter(Usuario.id_usuario == alumno.id_alumno).first() indicadorObjetoCoev = Indicador( descripcion = "¿Que tan bien crees que trabajo " + alumnoCompanero.nombre + " " + alumnoCompanero.apellido_paterno + "?", puntaje_max = 5, id_alumno = alumno.id_alumno ) idIndicadorCoev = Indicador().addOne(indicadorObjetoCoev) rubricaAspectoIndicadorCoev = Rubrica_aspecto_indicador( id_rubrica = idRubrica, id_aspecto = idAspectoCoev, id_indicador = idIndicadorCoev ) Rubrica_aspecto_indicador().addOne(rubricaAspectoIndicadorCoev) crearNivelesCoev(idRubrica, idAspectoCoev, idIndicadorCoev) """ for aspecto in listaAspectos: aspectoObjeto = Aspecto( descripcion=aspecto['descripcion'], informacion=aspecto['informacion'], puntaje_max=aspecto['puntajeMax'], tipo_clasificacion=aspecto['tipoClasificacion'], flg_grupal=aspecto['flgGrupal']) listaIndicadores = aspecto['listaIndicadores'] idAspecto = Aspecto().addOne(aspectoObjeto) rubricaAspectoObjeto = Rubrica_aspecto(id_rubrica=idRubrica, id_aspecto=idAspecto) aux = Rubrica_aspecto().addOne(rubricaAspectoObjeto) for indicador in listaIndicadores: indicadorObjeto = Indicador(descripcion=indicador['descripcion'], informacion=indicador['informacion'], puntaje_max=indicador['puntajeMax']) idIndicador = Indicador().addOne(indicadorObjeto) rubricaAspectoIndicadorObj = Rubrica_aspecto_indicador( id_rubrica=idRubrica, id_aspecto=idAspecto, id_indicador=idIndicador) aux2 = Rubrica_aspecto_indicador().addOne( rubricaAspectoIndicadorObj) listaNiveles = indicador['listaNiveles'] for nivel in listaNiveles: nivelObjeto = Nivel(descripcion=nivel['descripcion'], grado=nivel['grado'], puntaje=nivel['puntaje']) idNivel = Nivel().addOne(nivelObjeto) rubricaAspectoIndicadorNivelObj = Rubrica_aspecto_indicador_nivel( id_rubrica=idRubrica, id_aspecto=idAspecto, id_indicador=idIndicador, id_nivel=idNivel) Rubrica_aspecto_indicador_nivel().addOne( rubricaAspectoIndicadorNivelObj) d = {} d['idRubrica'] = idRubrica return d
def obtenerRubricaCoevaluacion(idActividad, idAlumnoConsultando): idRubrica = Rubrica.query.filter( and_(Rubrica.id_actividad == idActividad, Rubrica.tipo == 3, Rubrica.flg_activo == 1)).first() if idRubrica is not None: nombreRubrica = Rubrica.obtenerRubrica(idRubrica) d = {} d['idRubrica'] = idRubrica d['nombreRubrica'] = nombreRubrica.nombre d['fechaRegistro'] = nombreRubrica.fecha_registro.__str__() d['flgRubricaEspecial'] = nombreRubrica.flg_rubrica_especial d['idUsuarioCreador'] = nombreRubrica.id_usuario_creador d['tipo'] = nombreRubrica.tipo aspectos = [] listaAspectos = Rubrica_aspecto.obtenerAspectos(idRubrica) for aspecto in listaAspectos: if aspecto.descripcion == "Evaluacion a miembros del grupo": grupoAnalizado = Alumno_actividad.query( Alumno_actividad.id_grupo).filter( Alumno_actividad.id_actividad == idActividad, Alumno_actividad.id_alumno == idAlumnoConsultando).first() listaAlumnosCoev = Grupo_alumno_horario.query( Grupo_alumno_horario.id_usuario).filter( and_( Grupo_alumno_horario.id_grupo == grupoAnalizado.id_grupo, Grupo_alumno_horario.id_usuario != idAlumnoConsultando)).all() aux = {} aux['idAspecto'] = aspecto.id_aspecto aux['descripcion'] = aspecto.descripcion aux['informacion'] = aspecto.informacion aux['puntajeMax'] = aspecto.puntaje_max aux['tipoClasificacion'] = aspecto.tipo_clasificacion aux['flgGrupal'] = aspecto.flg_grupal indicadores = [] for alumno in listaAlumnosCoev: indicadorCoev = Indicador.query( Indicador.id_indicador).join( Rubrica_aspecto_indicador, Rubrica_aspecto_indicador.id_aspecto == aspecto. id_aspecto).filter(Indicador.id_alumno == alumno.id_usuario).first() aux2 = {} aux2['idIndicador'] = indicadorCoev.id_indicador aux2['descripcion'] = indicadorCoev.descripcion aux2['informacion'] = indicadorCoev.informacion aux2['puntajeMax'] = indicadorCoev.puntaje_max niveles = [] listaNiveles = Rubrica_aspecto_indicador_nivel.obtenerNiveles( idRubrica, indicadorCoev.id_indicador) for nivel in listaNiveles: aux3 = {} aux3['idNivel'] = nivel.id_nivel aux3['descripcion'] = nivel.descripcion aux3['grado'] = nivel.grado aux3['puntaje'] = nivel.puntaje niveles.append(aux3) aux2['listaNiveles'] = niveles aux2['cantNiveles'] = len(niveles) indicadores.append(aux2) aux['listaIndicadores'] = indicadores aux['cantIndicadores'] = len(indicadores) aspectos.append(aux) else: aux = {} aux['idAspecto'] = aspecto.id_aspecto aux['descripcion'] = aspecto.descripcion aux['informacion'] = aspecto.informacion aux['puntajeMax'] = aspecto.puntaje_max aux['tipoClasificacion'] = aspecto.tipo_clasificacion aux['flgGrupal'] = aspecto.flg_grupal indicadores = [] listaIndicadores = Rubrica_aspecto_indicador.obtenerIndicadores( idRubrica, aspecto.id_aspecto) for indicador in listaIndicadores: aux2 = {} aux2['idIndicador'] = indicador.id_indicador aux2['descripcion'] = indicador.descripcion aux2['informacion'] = indicador.informacion aux2['puntajeMax'] = indicador.puntaje_max niveles = [] listaNiveles = Rubrica_aspecto_indicador_nivel.obtenerNiveles( idRubrica, indicador.id_indicador) for nivel in listaNiveles: aux3 = {} aux3['idNivel'] = nivel.id_nivel aux3['descripcion'] = nivel.descripcion aux3['grado'] = nivel.grado aux3['puntaje'] = nivel.puntaje niveles.append(aux3) aux2['listaNiveles'] = niveles aux2['cantNiveles'] = len(niveles) indicadores.append(aux2) aux['listaIndicadores'] = indicadores aux['cantIndicadores'] = len(indicadores) aspectos.append(aux) d['listaAspectos'] = aspectos d['cantAspectos'] = len(aspectos) return d else: d = {} d['succeed'] = False d['message'] = "No existe Rubrica" return d