def crearAtributoTI(idTI=None, idp=None, idf=None):
    """
        Vista para crear el Tipo de Item
        @param idf: id de la fase asociada.
        @param idp: id del proyecto asociado.
    """
    form = crear_mod_atributoTI()
    resp = None
    if form.validate_on_submit():
        atribTI = AtributoPorTI(idTI, form.nombre.data, form.tipo.data, form.valorDefault.data)
        resp = c_atribTI.regAtributoTI(atribTI)
    else:
        resp = "Complete todos los datos obligatorios"
    if resp == "Exito":

        flash("Tipo de Item agregado correctamente")
    else:
        flash("Ocurrio un error: " + str(resp))
    return redirect(url_for("atributoTI", idTI=idTI, idp=idp, idf=idf))
def modificarAtributoTI(idATI=None, idTI=None, idf=None, idp=None):
    """
        Vista que modifica un Atributo de un TipoItem.
    """
    resp = None
    form = crear_mod_atributoTI()
    resp = None
    if form.validate_on_submit():
        TI = AtributoPorTIAtributoPorTI(idTI, form.nombre.data, form.tipo.data, form.valorDefault.data)

        TI.id_Atrib_TI = idATI
        resp = c_atribTI.modAtributoTI(TI)
    else:
        resp = "Complete todos los datos obligatorios"
    if resp == "Exito":
        flash("Atributo de Tipo de Item modificado correctamente")
    else:
        flash("Ocurrio un error: " + str(resp))
    return redirect(url_for("atributoTI", idTI=idTI, idp=idp, idf=idf))
def atributoTI(idTI=None, idp=None, idf=None):
    """
        Vista que da acceso a la pagina de los atributos del TI
        que es pasado como parametro
    """
    fase = c_fase.getFase(idf)
    proy = c_proy.getProy(idp)
    TI = c_TI.getTIId(idTI)
    b = 0
    for f in TI:
        if b == 0:
            w = f
            b = 1
    form = crear_mod_atributoTI()
    atributos = c_atribTI.getAtributoTIId(idTI)
    return render_template(
        "indexAtributoTI.html",
        title="Atributos de Tipos de Items",
        fase=fase,
        proyecto=proy,
        TI=w,
        form=form,
        atributos=atributos,
    )