Example #1
0
    def test_genera_un_alumno_bien_desde_un_dict(self):
        password = sha256("UnaPasswordMuySegura".encode()).hexdigest()
        alumno_dict = {
            "legajo": 1,
            "nombre": "Juancho",
            "sexo": "m",
            "edad": 30,
            "password": password
        }

        alumno = Alumno.from_dict(alumno_dict)
        self.assertIsNotNone(alumno)
        self.assertEqual(self.alumno.nombre, alumno.nombre)
Example #2
0
def post():
    """Crear usuario"""

    # Acá hay que chequear que los datos que vienen del formulario
    # sean correctos (cumplen con las condiciones necesarias)
    # Acá en el POST también hay que verificar si el usuario está logueado,
    # porque en tal caso, los datos que vengan son para modificar,
    # no para crear uno nuevo
    form = cgi.FieldStorage()
    user = get_dict_from_fieldstorage(form)
    logged_alumno = get_alumno_from_cookie()
    Logger.info(user)
    template = get_template("signup.html")

    errors = check_new_user(user)

    if is_update(logged_alumno):
        Logger.info("USUARIO PARA MODIFICAR!")
        Logger.info(f"ALUMNO EXISTENTE => {logged_alumno}")
        Logger.info(f"DATOS NUEVOS => {user}")
        logged_alumno.update(user)
        get_orm().update(logged_alumno)
        return template.render(alumno_updated=True, alumno=logged_alumno)

    Logger.info("errors => {}".format(errors))

    if not has_errors(errors):
        Logger.info("USUARIO VALIDO - CREAR!")
        alumno = Alumno.from_dict(user)
        get_orm().create(alumno)
        Logger.info(f"Usuario creado con éxito [{alumno}]")
        return template.render(alumno_created=True, alumno=logged_alumno)

    # Tiene errores
    Logger.info("USUARIO NO ES VALIDO - NO CREAR :(")
    return template.render(FIELD_CONSTRAINTS,
                           errors=errors,
                           user=user,
                           alumno=logged_alumno)