Exemplo n.º 1
0
def listarCursos(idUsuario):
    listaPersonaUsuarioHoraro=Permiso_usuario_horario.getAllUsuario(idUsuario)
    listaNombreHorario=[]
    listaIdHorario=[]
    listaCursos=[]
    for PersonaUsuarioHorario in listaPersonaUsuarioHoraro:
        horario=Horario.getOne(PersonaUsuarioHorario.id_horario)
        listaNombreHorario.append(horario.nombre)
        listaIdHorario.append(horario.id_horario)
        curso=Horario.obtenerCurso(PersonaUsuarioHorario.id_horario)
        listaCursos.append(curso)

    c={}
    listaCursoHorario=[]
    num=len(listaCursos)
    for i in range(num):
        d={}
        d['nombreHorario']=listaNombreHorario[i]
        d['idHorario']=listaIdHorario[i]
        curso=listaCursos[i]
        d['nombreCurso']=curso.nombre
        d['idEspecialidad'] = curso.id_especialidad
        d['codigo']=curso.codigo
        listaCursoHorario.append(d)

    c['listaCursos']=listaCursoHorario

    return c
Exemplo n.º 2
0
def cargaMasivaProfesorJP(datos, idEspecialidad):
    semestre = Semestre().getOne()
    idSemestre = semestre.id_semestre
    name = pathCargaMasivaCursoHorario + datos.filename
    data = datos.read()
    with open(name, 'wb') as file:
        file.write(data)
    df = pd.read_excel(name, enconding='latin1')

    longitud = len(df)

    for i in range(longitud):
        codigoCurso = str(df.iat[i, 0])
        codigoPucp = str(df.iat[i, 1])
        nombreCompleto = str(df.iat[i, 2])
        aux = SplitNombres(nombreCompleto)
        nombres = aux[0]
        apellidoPaterno = aux[1]
        apellidoMaterno = aux[2]
        email = str(df.iat[i, 3])
        objUsuario = Usuario(nombre=nombres,
                             codigo_pucp=codigoPucp,
                             email=email,
                             clave=codigoPucp,
                             apellido_paterno=apellidoPaterno,
                             apellido_materno=apellidoMaterno,
                             flg_admin=0)
        idUsuario = Usuario().addOne(objUsuario)
        idCurso = Curso().getOneClave(codigoCurso, idSemestre)
        tipo = str(df.iat[i, 4])
        if tipo == "1":
            horarios = str(df.iat[i, 5]).split(',')
            for horario in horarios:
                horario = horario.replace(' ', '')
                print(idCurso, horario, idSemestre)
                idHorario = Horario().getOneClave(idCurso, idSemestre, horario)
                objUsuaHorario = Permiso_usuario_horario(
                    id_horario=idHorario,
                    id_usuario=idUsuario,
                    id_permiso=1,
                    id_semestre=idSemestre)
                Permiso_usuario_horario().addOne(objUsuaHorario)

        else:
            horarios = Horario().getAll(idCurso, idSemestre)
            for horario in horarios:

                idHorario = horario.id_horario
                objUsuaHorario = Permiso_usuario_horario(
                    id_horario=idHorario,
                    id_usuario=idUsuario,
                    id_permiso=3,
                    id_semestre=idSemestre)
                Permiso_usuario_horario().addOne(objUsuaHorario)

    return {'message': 'leyo bien'}
Exemplo n.º 3
0
def cargaMasivaCursos(datos, idEspecialidad):
    semestre = Semestre().getOne()
    idSemestre = semestre.id_semestre  #
    print(datos)
    print(idEspecialidad)
    name = pathCargaMasivaCursoHorario + datos.filename
    data = datos.read()
    with open(name, 'wb') as file:
        file.write(data)
    df = pd.read_excel(name, enconding='latin1')
    longitud = len(df)

    for i in range(longitud):
        nombreCurso = df.iat[i, 0]
        codigoCurso = df.iat[i, 1]
        horarios = []
        horarios = str(df.iat[i, 2]).split(',')
        objCurso = Curso(id_especialidad=idEspecialidad,
                         id_semestre=idSemestre,
                         nombre=nombreCurso,
                         codigo=codigoCurso)
        idCurso = Curso().addOne(objCurso)
        for horario in horarios:
            horario = horario.replace(' ', '')
            Horario().addOne(horario, idCurso, idSemestre)
    return {'message': 'leyo bien'}
Exemplo n.º 4
0
    def post(self):
        args = get_args()
        horario_check = check_horario(args)

        if horario_check and not horario_check.alive:
            query = Horario.query.get(horario_check.id)
            query.alive = True
            query.last_update = datetime.now()
            query.update()
            return schema.dump(query).data, 201
        elif horario_check and horario_check.alive:
            return send_message("Este horário já existe", 409)

        try:
            horario = Horario(args["id_sala"], args["dia"],
                              args["hora_inicio"], args["hora_fim"],
                              args["tipo_user"])
            horario.add(horario)
            query = Horario.query.get(horario.id)
        except SQLAlchemyError as e:
            return rollback(e, db)
        else:
            return schema.dump(query).data, 201
Exemplo n.º 5
0
def obtenerCursosActivosXProfesor(idProfesor):
    semestreActivo = Semestre().getOne()
    listaHorarios = Permiso_usuario_horario().getHorarioActivo(
        semestreActivo.id_semestre, idProfesor)

    res = []

    for horario in listaHorarios:
        if horario.id_permiso == 1:
            curso, hor = Horario().obtenerCurso(horario.id_horario)
            aux = {}
            aux['id_horario'] = horario.id_horario
            #t = Horario().getOne(horario.id_horario)
            aux['nombre_horario'] = hor.nombre
            aux['id_curso'] = curso.id_curso
            aux['nombre_curso'] = curso.nombre
            aux['codigo'] = curso.codigo
            res.append(aux)

    d = {}
    d['listaCursos'] = res
    d['cantCursos'] = len(res)
    """
    #listaHorarios = Permiso_usuario_horario().getHorarioActivo(semestreActivo.id_semestre, idProfesor)
    puh = Permiso_usuario_horario().getHorarioActivo(semestreActivo.id_semestre, idProfesor)
    print(puh)
    #listaHorarios = db.session.query(Horario).join(puh, puh.id_horario == Horario.id_horario).subquery()
    listaHorarios = db.session.query(Horario).join(puh, puh.ID_HORARIO == Horario.id_horario).subquery()
    listaCursos = Curso().getCursosActivos(semestreActivo)

    data = db.session.query(listaCursos.id_curso, listaCursos.nombre, listaCursos.codigo, listaHorarios.nombre).join(listaHorarios, listaCursos.id_curso == listaHorarios.id_curso)
    #data = db.session.query(Curso.id_curso, Curso.nombre, Curso.codigo, listaHorarios.nombre).join(listaHorarios, listaCursos.id_curso == listaHorarios.id_curso)

    res = []

    for idc, nomc, cod, nomh in data.all():
        aux = {}
        aux['idcurso'] = idc
        aux['nombre'] = nomc
        aux['codigo'] = cod
        aux['horario'] = nomh
        res.append(aux)

    d = {}
    d['listaCursos'] = res
    d['cantCursos'] = len(res)
    """
    return d
Exemplo n.º 6
0
def cargaMasivaHorarios(datos, idCurso, idEspecialidad):
    semestre = Semestre().getOne()
    idSemestre = semestre.id_semestre
    print("=" * 20)
    print(idSemestre)
    name = pathCargaMasivaAlumnoHorario + datos.filename
    data = datos.read()
    with open(name, 'wb') as file:
        file.write(data)
    doc = codecs.open(name, 'rU', 'latin1')
    for i in range(6):
        doc.readline()
    df = pd.read_csv(doc, sep='\t', encoding='latin1')
    #print(df)
    df['E-mail'] = df['E-mail'].apply(lambda x: getCorreoPucp(x))
    df['nombres'] = df['Nombre'].apply(lambda x: SplitNombres(x)[0])
    df['apellido_paterno'] = df['Nombre'].apply(lambda x: SplitNombres(x)[1])
    df['apellido_materno'] = df['Nombre'].apply(lambda x: SplitNombres(x)[2])
    longitud = len(df)

    for i in range(longitud):
        idHorario = Horario().addOne(str(df.iat[i, 2]), idCurso, idSemestre)
        codigoPucp = str(df.iat[i, 0])
        nombre = str(df.iat[i, 5])
        email = str(df.iat[i, 4])
        apellidoPaterno = str(df.iat[i, 6])
        apellidoMaterno = str(df.iat[i, 7])
        objUsuario = Usuario(nombre=nombre,
                             email=email,
                             apellido_paterno=apellidoPaterno,
                             apellido_materno=apellidoMaterno,
                             flg_admin=0,
                             codigo_pucp=codigoPucp,
                             clave=codigoPucp)
        idUsuario = Usuario().addOne(objUsuario)
        objAlumnoHorario = Permiso_usuario_horario(id_horario=idHorario,
                                                   id_usuario=idUsuario,
                                                   id_permiso=2,
                                                   id_semestre=idSemestre)
        Permiso_usuario_horario().addOne(objAlumnoHorario)

    return {'message': 'leyo bien'}
def obtenerCursosActivosXAlumno(idAlumno):
    semestreActivo = Semestre().getOne()
    listaHorarios = Permiso_usuario_horario().getHorarioActivo(semestreActivo.id_semestre, idAlumno)

    res = []

    for horario in listaHorarios:
        if horario.id_permiso == 2:
            curso, hor = Horario().obtenerCurso(horario.id_horario)
            #print(curso)
            aux = {}
            aux['id_curso'] = curso.id_curso
            aux['nombre'] = curso.nombre
            aux['codigo'] = curso.codigo
            aux['nombre_horario'] = hor.nombre
            aux['id_horario'] = hor.id_horario
            res.append(aux)

    d = {}
    d['listaCursos'] = res
    d['cantCursos'] = len(res)

    return d
Exemplo n.º 8
0
def obtenerRubricasPasadas(idUsuario, idCurso):
    listaHorarios = Horario.obtenerHorariosXCurso(idCurso)

    d = {}
    aux = []
    for horario in listaHorarios:
        listaRubricas = Actividad.obtenerRubricasXIdUsuario(
            horario.id_horario, idUsuario)
        if len(listaRubricas) != 0:
            for rubrica in listaRubricas:
                aux.append(rubrica)

    aux2 = []
    for rubrica in aux:
        aux3 = obtenerRubricaXidRubrica(rubrica.id_rubrica)
        aux2.append(aux3)

    if len(aux2) == 0:
        d['respuesta'] = 0
    else:
        d['respuesta'] = 1
        d['rubricas'] = aux2

    return d