Example #1
0
def getPanelEstudiantesDocentes(page):
    if auth.authenticated():  # or not auth.authenticated():
        #Obtiene permisos del usuario
        User.db = get_db()
        Student.db = get_db()
        permisos = User.get_permisos(
            session['id'])  #Session user es el email unico del usuario
        if (page > Student.total_paginas_taller(
                site_controller.get_pagination())) or (not int(page) > 0):
            abort(404)
        lastpage = Student.getLastPageTaller(site_controller.get_pagination(),
                                             int(page))
        Docente.db = get_db()
        docente_responsable_taller = Docente.allDocenteTaller()
        estudiantes_talleres = Student.allEstudianteTallerPaginated(
            site_controller.get_pagination(), int(page))
        estudiantes = Student.all()
        return render_template(
            'auth/panel_components/alumnos_docentes.html',
            permisos=permisos,
            page=page,
            lastpage=lastpage,
            docente_responsable_taller=docente_responsable_taller,
            estudiantes_talleres=estudiantes_talleres,
            estudiantes=estudiantes)
    return redirect(url_for('auth_login'))
Example #2
0
def delete(id_data):
    if not authenticated(session):
        abort(401)

    #Chequea permiso
    User.db = get_db()
    if (User.tiene_permiso(session['id'], 'estudiante_destroy')):
        Student.db = get_db()
        Student.delete(id_data)
        flash("Se eliminó el estudiante correctamente", 'success')
        return redirect(url_for('panel_estudiantes'))
    else:
        abort(401)
Example #3
0
def delete():
    #Auth check
    auth.authenticated_or_401()

    #Chequea permiso
    User.db = get_db()
    if (User.has_permission(session['id'],'estudiante_destroy')):
        abort(401)
    else:
        Student.db = get_db()
        Student.delete(request.get_json()['student_id'])
        response_object = {'status': 'success', 'message': 'Se eliminó el estudiante'}
        return jsonify(response_object)
Example #4
0
def create():
    if not authenticated(session):
        abort(401)

    localidad_param = request.form['localidad']
    resp = requests.get(api_localidad.url)
    localidades = resp.json()

    for localidad in localidades:
        if format(localidad['nombre']) == localidad_param:
            localidad_id = localidad['id']
            break

    nivel = request.form["nivel"]
    nivel = Level.find_by_name(nivel)
    nivel_id = nivel.id

    genero = request.form["genero"]
    genero = Gender.find_by_name(genero)
    genero_id = genero.id

    escuela = request.form["escuela"]
    escuela = School.find_by_name(escuela)
    escuela_id = escuela.id

    tipodoc_param = request.form['tipo_doc']
    resp = requests.get(api_tipo_documento.url)
    documentos = resp.json()

    for doc in documentos:
        if format(doc['nombre']) == tipodoc_param:
            tipo_doc_id = doc['id']
            break

    barrio = request.form["barrio"]
    barrio = Neighborhood.find_by_name(barrio)
    barrio_id = barrio.id

    apellido = request.form['apellido']
    nombre = request.form['nombre']
    fecha_nac = request.form["fecha_nac"]
    domicilio = request.form["domicilio"]
    numero = request.form["numero"]
    tel = request.form["tel"]
    requestNew = (apellido, nombre, fecha_nac, localidad_id, nivel_id,
                  domicilio, genero_id, escuela_id, tipo_doc_id, numero, tel,
                  barrio_id)

    new_estudiante = to_estudiante(requestNew)
    Student.save(new_estudiante)
    return redirect(url_for('student_index'))
Example #5
0
def update():
    #Auth check
    auth.authenticated_or_401()

    if request.method == "POST":
        #Chequea permiso
        User.db = get_db()
        if (not User.has_permission(session['id'],'estudiante_update')):
            abort(401)
        else:
            post_data = request.get_json()
            # if forms.ValidateStudent(request.form).validate():
            Student.db = get_db()
            Student.update(post_data)
            response_object = {'status': 'success', 'message': 'Se actualizó el estudiante'}
            # else:
            #     response_object = {'status': 'warning', 'message': 'Verifica los campos obligatorios y no ingreses valores no permitidos'}
            return jsonify(response_object)
Example #6
0
def store():
    if not authenticated(session):
        abort(401)

    #Chequea permiso
    User.db = get_db()
    if (User.tiene_permiso(session['id'], 'estudiante_new')):
        if request.method == "POST" and forms.ValidateStudent(
                request.form).validate():
            Student.db = get_db()
            Student.store(request.form)
            flash("Estudiante agregado correctamente", 'success')
        else:
            flash(
                'Verifica los campos obligatorios. No ingreses valores no permitidos',
                'error')
        return redirect(url_for('panel_estudiantes'))
    else:
        abort(401)
Example #7
0
def deleteEstudianteDocente():
    if not authenticated(session):
        abort(401)
    #Chequea permiso
    User.db = get_db()
    if (User.tiene_permiso(session['id'], 'administrativo_destroy')):
        if request.method == "POST" and forms.ValidateEstudianteDocenteTallerDelete(
                request.form).validate():
            Student.db = get_db()
            Student.deleteEstudianteTaller(request.form)
            flash("Se desasigno el estudiante del taller correctamente",
                  'success')
        else:
            flash(
                'Verifica los campos obligatorios. No ingreses valores no permitidos',
                'error')
        return redirect(url_for('panel_estudiantes_docentes'))
    else:
        abort(401)
Example #8
0
def get(id_data):
    #Auth check
    auth.authenticated_or_401()
    
    #Chequea permiso
    User.db = get_db()
    if (User.has_permission(session['id'],'estudiante_show')):
        Student.db = get_db()
        return jsonify(Student.get(id_data))
    else:
        abort(401)
Example #9
0
def all():
    #Auth check
    auth.authenticated_or_401()
    
    #Chequea permiso
    User.db = get_db()
    if (User.has_permission(session['id'],'estudiante_index')):
        Student.db = get_db()
        return jsonify(Student.all_reduced())
    else:
        abort(401)
Example #10
0
def students(lesson_id):
    #Auth check
    auth.authenticated_or_401()

    #Chequea permiso
    User.db = get_db()
    if (not User.has_permission(session['id'], 'asistencia_index')):
        abort(401)
    else:
        Student.db = get_db()
        return jsonify(Student.all_by_lesson(lesson_id))
Example #11
0
def index():
    estudiantes = Student.all()
    localidades = []
    for estudiante in estudiantes:
        resp = requests.get(api_localidad.url + "/" +
                            str(estudiante.localidad_id))
        if resp.status_code != 200:
            localidades.append("Error al obtener la localidad")
        else:
            result = resp.json()
            localidades.append(format(result['nombre']))
    return render_template('estudiante/index.html',
                           estudiantes=estudiantes,
                           localidades=localidades)
Example #12
0
 def get(self):
     filter = {}
     filter["apellido"] = request.args["apellido"] if not None else ""
     filter["numero"] = request.args["numero"] if not None else ""
     search = Student.search(filter)
     estudiantes = []
     for est in search:
         e = {
             "id": est.id,
             "nombre": est.nombre,
             "apellido": est.apellido,
             "numero": est.numero
         }
         estudiantes.append(e)
     return build_response(estudiantes, estudiantes.__len__())
Example #13
0
def getAsistencias(id_data):
    if auth.authenticated():
        Clase.db = get_db()
        clase = Clase.findClass(id_data)
        Student.db = get_db()
        estudiantes = Student.findByClass(clase['id'])
        Asistencia.db = get_db()
        asistencias_estudiantes = Asistencia.getAsistencias(clase)
        return render_template(
            'auth/panel_components/asistencias.html',
            clase=clase,
            estudiantes=estudiantes,
            asistencias_estudiantes=asistencias_estudiantes,
        )
    else:
        return redirect(url_for('auth_login'))
Example #14
0
def update(id):
    estudiante = Student.find_by_id(id)
    resp = requests.get(api_localidad.url + "/" + str(estudiante.localidad_id))
    result = resp.json()
    localidad = format(result['nombre'])
    nivel = Level.find_by_id(estudiante.nivel_id)
    genero = Gender.find_by_id(estudiante.genero_id)
    resp = requests.get(api_tipo_documento.url + "/" +
                        str(estudiante.tipo_doc_id))
    result = resp.json()
    tipoDoc = format(result['nombre'])
    escuela = School.find_by_id(estudiante.escuela_id)
    barrio = Neighborhood.find_by_id(estudiante.barrio_id)

    resp = requests.get(api_localidad.url)
    localidades = []
    if resp.status_code != 200:
        localidades.append("Error al obtener la localidad")
    else:
        localidades = resp.json()
    niveles = Level.all()
    generos = Gender.all()
    escuelas = School.all()
    barrios = Neighborhood.all()

    resp = requests.get(api_tipo_documento.url)
    tiposDoc = []
    if resp.status_code != 200:
        tiposDoc.append("Error al obtener la localidad")
    else:
        tiposDoc = resp.json()
    return render_template('estudiante/update.html',
                           estudiante=estudiante,
                           localidad=localidad,
                           localidades=localidades,
                           tipoDoc=tipoDoc,
                           tiposDoc=tiposDoc,
                           nivel=nivel,
                           niveles=niveles,
                           genero=genero,
                           generos=generos,
                           escuela=escuela,
                           escuelas=escuelas,
                           barrio=barrio,
                           barrios=barrios,
                           id=estudiante.id)
Example #15
0
def getPanelAsistencia():
    if auth.authenticated():
        #Obtiene permisos del usuario
        User.db = get_db()
        if (User.tiene_permiso(session['id'], 'horario_index')):
            permisos = User.get_permisos(
                session['id'])  #Session user es el email unico del usuario
            Clase.db = get_db()
            clases = Clase.all()
            Student.db = get_db()
            estudiantes_talleres = Student.allEstudianteTaller()
            return render_template(
                'auth/panel_components/asistencia.html',
                permisos=permisos,
                clases=clases,
                estudiantes_talleres=estudiantes_talleres,
                #docente_responsable_taller=docente_responsable_taller,
            )
        else:
            abort(401)
    else:
        return redirect(url_for('auth_login'))
Example #16
0
 def save(self):
     self.responsables_saved = Form.save(self.responsables_forms)
     student = Student.create(self.values)
     return student
Example #17
0
def delete(id):
    Student.delete_by_id(id)
    return redirect(url_for('student_index'))
Example #18
0
def getPanelEstudiantes(page):
    if not authenticated(session):
        abort(401)
    #Obtiene permisos del usuario
    User.db = get_db()
    permisos = User.get_permisos(
        session['id'])  #Session user es el email unico del usuario
    #Obtiene estudiantes
    Student.db = get_db()
    lastpage = 1
    #Si se envia una pagina inexistente se aborta
    if (page > Student.total_paginas(
            site_controller.get_pagination())) or (not int(page) > 0):
        abort(404)
    #Chequea si hubo busquedas
    #Se buscó solo nombre
    if forms.searchByFirstName(request.args).validate():
        students = Student.searchByFirstName(request.args.get('solo_nombre'))
        #Se buscó solo apellido
    elif forms.searchByLastName(request.args).validate():
        students = Student.searchByLastName(request.args.get('solo_apellido'))
    elif forms.searchByBoth(request.args).validate():
        #Se buscó ambos
        students = Student.searchByBoth(request.args.get('ambos_nombre'),
                                        request.args.get('ambos_apellido'))
        #No hubo busqueda
    else:
        students = Student.allPaginated(site_controller.get_pagination(),
                                        int(page))
        #Ultima pagina de paginado
        lastpage = Student.getLastPage(site_controller.get_pagination(),
                                       int(page))
    #Obtiene niveles
    Nivel.db = get_db()
    niveles = Nivel.all()
    #Obtiene generos
    Genero.db = get_db()
    generos = Genero.all()
    #Obtiene escuelas
    Escuela.db = get_db()
    escuelas = Escuela.all()
    #Obtiene barrios
    Barrio.db = get_db()
    barrios = Barrio.all()
    #Obtiene responsables
    Responsable.db = get_db()
    responsables = Responsable.all()
    #Obtiene la información de las apis
    localidades = getLocalidades()
    tipo_docs = getDocumentos()
    #Retorna el template
    return render_template('auth/panel_components/alumnos.html',
                           permisos=permisos,
                           nombre=session['nombre'],
                           apellido=session['apellido'],
                           students=students,
                           localidades=localidades,
                           tipo_docs=tipo_docs,
                           niveles=niveles,
                           generos=generos,
                           escuelas=escuelas,
                           barrios=barrios,
                           responsables=responsables,
                           page=page,
                           lastpage=lastpage)