Example #1
0
 def test_no_es_mayor_de_edad_con_menos_de_18(self):
     """
     Prueba que el estudiante no es mayor de edad
     cuando la edad es < 18.
     """
     estudiante = Estudiante()
     estudiante.edad = 17
     self.assertEqual(estudiante.es_mayor_de_edad(), False)
Example #2
0
 def test_es_mayor_de_edad_con_mas_de_18(self):
     """
     Prueba que el estudiante es mayor de edad
     cuando la edad es > 18.
     """
     estudiante = Estudiante()
     estudiante.edad = 19
     self.assertEqual(estudiante.es_mayor_de_edad(), True)
Example #3
0
 def test_es_mayor_de_edad_con_mas_de_18(self):
     """
     Prueba que el estudiante es mayor de edad
     cuando la edad es > 18.
     """
     estudiante = Estudiante()
     estudiante.edad = 19
     self.assertEqual(estudiante.es_mayor_de_edad(), True)
Example #4
0
 def test_no_es_mayor_de_edad_con_menos_de_18(self):
     """
     Prueba que el estudiante no es mayor de edad
     cuando la edad es < 18.
     """
     estudiante = Estudiante()
     estudiante.edad = 17
     self.assertEqual(estudiante.es_mayor_de_edad(), False)
Example #5
0
    def test_longitud_nombre_mayor_a_cero(self):
        """
        Prueba que el nombre ingresado tenga una
        longitud mayor a cero.
        """
        estudiante = Estudiante()
        estudiante.edad = 0
        estudiante.nombre = "Julian"
        estudiante.save()

        e = Estudiante.objects.all()[0]
        self.assertEqual(e.nombre, "Julian")
Example #6
0
def agregar_estudiante():

    data=request.json
    estudiante_id=str(request.json["cedula"])
    estudiante_doc=estudiantes_ref.document(estudiante_id)
    if(estudiante_doc.get().exists):
        error_message={"error":f"Ya existe un estudiante registrando con el ID {estudiante_id}"}
        return jsonify(error_message),400
    try:  
        nuevo_estudiante=Estudiante(data["cedula"], data["nombre"], data["apellido"],data["correo"], data["carrera"]).to_dict()
        estudiante_doc.set(nuevo_estudiante)
        return jsonify(nuevo_estudiante),201
    except:
        error_message={"error":"Los datos del estudiante no están completos o son incorrectos"}
        return jsonify(error_message),400
Example #7
0
def actualizar_estudiante(id):
    data=request.json
    estudiante_doc=estudiantes_ref.document(str(id)).get()
    if(estudiante_doc.exists):
      data_estudiante = Estudiante(
                    data["cedula"], 
                    data["nombre"], 
                    data["apellido"],
                    data["correo"], 
                    data["carrera"]).to_dict()
      estudiante_doc=estudiantes_ref.document(str(id)).set(data)
      return jsonify(data_estudiante), 200
    else:
      error_message={"error":f"No existe un estudiante registrando con el ID {estudiante_doc}"}
      return jsonify(error_message),400
Example #8
0
def actualizar_estudiante(id):

    data=request.json
    estudiante_id=str(id)
    estudiante_doc=estudiantes_ref.document(estudiante_id)

    if(estudiante_doc.get().exists):
        try:  
            nuevo_estudiante=Estudiante(data["cedula"], data["nombre"], data["apellido"],data["correo"], data["carrera"]).to_dict()
            estudiantes_ref.document(estudiante_id).update(nuevo_estudiante)
            return jsonify(nuevo_estudiante),200
        except:
            error_message={"error":"Los datos del estudiante no están completos o son incorrectos"}
            return jsonify(error_message),400
    else:
        error_message={"error":f"No se encontró ningún estudiante con el ID {id}"}
        return jsonify(error_message),400
Example #9
0
    def test_longitud_nombre_mayor_a_cero(self):
        """
        Prueba que el nombre ingresado tenga una
        longitud mayor a cero.
        """
        estudiante = Estudiante()
        estudiante.edad = 0
        estudiante.nombre = "Julian"
        estudiante.save()

        e = Estudiante.objects.all()[0]
        self.assertEqual(e.nombre, "Julian")
def create():
    nombre_estudiante = request.json['nombre_estudiante']
    direccion = request.json['direccion']
    telefono = request.json['telefono']
    identificacion = request.json['identificacion']
    sede = request.json['sede']

    estudiante = Estudiante()
    estudiante.nombre_estudiante = nombre_estudiante
    estudiante.direccion = direccion
    estudiante.telefono = telefono
    estudiante.identificacion = identificacion
    estudiante.sede = sede
    db.session.add(estudiante)
    db.session.commit()

    return jsonify({
        'msg': estudiante.to_json(),
        'status': 'Estudiante creado correctamente'
    })
Example #11
0
def actualizar_estudiante(id):
    """Actualiza un estudiante de la base de datos a partir del id
    
    Argumentos:
        id (int): Id con la cédula del estudiante
    Retorna:
        json: Objeto con la información del estudiante actualizada o error si falló el proceso
    """
    data=request.json
    estudiante_id=str(id)
    estudiante_doc=estudiantes_ref.document(estudiante_id)

    if(estudiante_doc.get().exists):
        try:  
            nuevo_estudiante=Estudiante(data["cedula"], data["nombre"], data["apellido"],data["correo"], data["carrera"]).to_dict()
            estudiantes_ref.document(estudiante_id).update(nuevo_estudiante)
            return jsonify(nuevo_estudiante),200
        except:
            error_message={"error":"Los datos del estudiante no están completos o son incorrectos"}
            return jsonify(error_message),400
    else:
        error_message={"error":f"No se encontró ningún estudiante con el ID {id}"}
        return jsonify(error_message),400
Example #12
0
def migrar_estudiante(request):
    try:
        if request.method == 'POST':
            form = EstudianteForm(request.POST)
            if form.is_valid():
                cedula = form['cedula'].value()
                carrera = Carrera.objects.get(codigo=form['carrera'].value())
                periodo = Periodo.objects.get(estado=True)
                clienteCarrera = webservices.infoCarrera()
                #si el estudiante no está regstrado en la base de datos lo buscamos en el OASIS y lo almacenamos en la base de datos local
                if not (Estudiante.objects.filter(cedula=cedula).exists()):
                    estudiante = Estudiante()
                    estudiante.cedula = cedula
                    resultEstudiante = clienteCarrera.service.GetDatosEstudianteMatriculado(
                        estudiante.cedula)

                    if resultEstudiante is not None:
                        estudiante.cedula = resultEstudiante['Cedula']
                        estudiante.username = resultEstudiante['Cedula']
                        estudiante.first_name = metodos.remover_acentos(
                            resultEstudiante['Nombres'])
                        estudiante.last_name = metodos.remover_acentos(
                            resultEstudiante['Apellidos'])
                        if not resultEstudiante['Email'] is None:
                            estudiante.email = resultEstudiante['Email']
                        estudiante.is_active = 1
                        estudiante.is_superuser = 0
                        estudiante.is_staff = 0
                        estudiante.password = make_password(
                            resultEstudiante['Cedula'],
                            salt=None,
                            hasher='default')
                        estudiante.save()
                        usuario = User.objects.get(id=estudiante.id)
                        if Group.objects.filter(name='Estudiantes').exists():
                            grupo = Group.objects.get(name='Estudiantes')
                        else:
                            grupo = Group.objects.create(name='Estudiantes')
                        usuario.groups.add(grupo)
                        usuario.save()

                        #return JsonResponse(estudiante.first_name, safe=False)
                #si el estudiante existe en la base de datos lo recuperamos

                if (Estudiante.objects.filter(cedula=cedula)):
                    estudiante = Estudiante.objects.get(cedula=cedula)
                    #Obtenemos las asignaturas en las que el estudiante se encuentra matriculado desde la base de datos del sistema académico
                    resultAsignaturas = clienteCarrera.service.GetMateriasEstudiante(
                        carrera.codigo, estudiante.cedula, periodo.codigo)
                    #return JsonResponse((resultAsignaturas != ""), safe=False)
                    if (resultAsignaturas != ""):
                        for a in resultAsignaturas[0]:
                            tmp = metodos.recursive_asdict(a)
                            if Asignatura.objects.filter(
                                    codigo=tmp['Codigo']).exists():
                                asignatura = Asignatura.objects.get(
                                    codigo=tmp['Codigo'])
                                if DocenteAsignaturaPeriodo.objects.filter(
                                        asignatura=asignatura,
                                        periodo=periodo).exists():
                                    docenteAsignatura = DocenteAsignaturaPeriodo.objects.get(
                                        asignatura=asignatura, periodo=periodo)
                                    if not (DocenteAsignaturaPeriodoEstudiante.
                                            objects.filter(
                                                docenteasignatura=
                                                docenteAsignatura,
                                                estudiante=estudiante).exists(
                                                )):
                                        docenteAsignaturaEstudiante = DocenteAsignaturaPeriodoEstudiante(
                                        )
                                        docenteAsignaturaEstudiante.docenteasignatura = docenteAsignatura
                                        docenteAsignaturaEstudiante.estudiante = estudiante
                                        docenteAsignaturaEstudiante.save()
                return HttpResponseRedirect(
                    reverse('home') + "?migrar=correcto")
        else:
            form = EstudianteForm()
        return render(request,
                      'estudiante/nuevo.html', {'form': form},
                      context_instance=RequestContext(request))
    except:
        return HttpResponseRedirect(reverse('home') + "?migrar=error")
Example #13
0
    print(item,item.id)
    item_dict=item.to_dict()
    item_dict["id"]=item.id
    return item_dict

app = Flask(__name__)

# Inicializar Firestore DB
cred = credentials.Certificate('key/key.json')
default_app = initialize_app(cred)
db = firestore.client()
estudiantes_ref = db.collection('Estudiantes')
peticiones_ref = db.collection('Peticiones')


nuevo_estudiante=Estudiante(122345, "Jaime", "Garcia", "jaime.garcia", "Electronica")
print(nuevo_estudiante.to_dict())



nueva_peticion=Peticion(122345, "Asesoria",'25/09/20 7:00:00')
print(nueva_peticion.to_dict(),nueva_peticion.fecha_creacion,nueva_peticion.fecha_atencion)




@app.route("/api/v1/estudiantes",methods=['POST'])
def agregar_estudiante():
    """Agrega un estudiante a la base de datos

    Retorna:
Example #14
0
def index(raton):
    Estudiante.objects.crear_estudiante(Estudiante())

    return HttpResponse('<html><body><b>hola mundo</b></body></html>')
Example #15
0
 def testCrearEstudiante(self):
     usuario = Estudiante(nombre='nuevoE', dni='12345678A')
     assert_equal(usuario.nombre, 'nuevoE')
     assert_equal(usuario.dni, '12345678A')