コード例 #1
0
def crearDocente():
    if 'email' not in session or not any(i in ['administrador', 'docente'] for i in session['roles']):
        return redirect(url_for("accesoDenegado"))
    p = request.form
    if Docente.getByDNI(p['numero']) is not None:
        flash('ya existe un docente con ese numero de documento!')
        return redirect(url_for('listadoDocentes'))
    else:
        Docente.create(
            p["apellido"],
            p["nombre"],
            p["fechaN"],
            p["localidad"],
            p["domicilio"],
            p["genero"],
            p["tipoD"],
            p["numero"],
            p["telefono"],
        )
        return redirect(url_for("listadoDocentes"))
コード例 #2
0
def new():
    s_config = siteconfig.get_config()
    if not has_permission("docente_new", session) or (
            s_config["modo_mantenimiento"] == 1
            and not has_role("administrador", session)):
        abort(401)

    # Validación - Fill choices
    choices = forms_docente.choices()
    form = DocenteForm(choices)

    op_response = dict()

    if form.validate_on_submit():
        params = request.form.to_dict()
        params["fecha_nacimiento"] = datetime.strptime(
            params["fecha_nacimiento"], "%d/%m/%Y").date()

        if "username" in params:
            user = User.find_by_user(params["username"])
            if user:
                params["usuario_id"] = user["id"]

        created = Docente.create(params)

        if created:
            op_response["msg"] = "Se ha agregado al docente exitosamente"
            op_response["type"] = "success"
        else:
            op_response["msg"] = "Ha ocurrido un error al crear al docente"
            op_response["type"] = "error"
            abort(make_response(jsonify(op_response), 422))

    else:
        error_msg = "".join(list(form.errors.values())[0]).strip("'[]")
        op_response["msg"] = error_msg
        op_response["type"] = "error"
        abort(make_response(jsonify(op_response), 400))

    return make_response(jsonify(op_response), 201)