Ejemplo n.º 1
0
def addorupdate(id_profil):
    """
    Route affichant un formulaire vierge ou non (selon l'url) pour ajouter ou mettre à jour un profil
    L'envoie du formulaire permet l'ajout ou la maj du profil dans la base
    Retourne un template accompagné d'un formulaire pré-rempli ou non selon le paramètre id_profil
    Une fois le formulaire validé on retourne une redirection vers la liste de profil
    """

    form = t_profilsforms.Profil()
    if id_profil == None:
        if request.method == "POST":
            if form.validate() and form.validate_on_submit():
                form_profil = pops(form.data)
                form_profil.pop("id_profil")
                TProfils.post(form_profil)
                return redirect(url_for("profils.profils"))
        return render_template("profil.html",
                               form=form,
                               title="Formulaire Profil")
    else:
        profil = TProfils.get_one(id_profil)
        if request.method == "GET":
            form = process(form, profil)
        if request.method == "POST":
            if form.validate() and form.validate_on_submit():
                form_profil = pops(form.data)
                form_profil["id_profil"] = profil["id_profil"]
                TProfils.update(form_profil)
                return redirect(url_for("profils.profils"))
        return render_template("profil.html",
                               form=form,
                               title="Formulaire Profil")
Ejemplo n.º 2
0
def users(id_profil):
    """
    Route affichant la liste des users du profil et ceux disponibles.
    Avec pour paramètre un id de profil
    Retourne un template avec pour paramètres:
        - une entête des tableaux --> fLine
        - le nom des colonnes de la base --> data
        - liste des profils utilisables --> table
        - liste des profils non utilisables mais disponibles --> table2
    """
    users_in_profil = TUsers.get_users_in_profil(id_profil)
    users_out_profil = TUsers.get_users_out_profil(id_profil)
    header = ['ID', 'User']
    data = ['id_user', 'full_name']
    profil = TProfils.get_one(id_profil)
    if request.method == 'POST':
        data = request.get_json()
        new_users = data["tab_add"]
        delete_users = data["tab_del"]
        try:
            CorUserProfil.add_cor(new_users,id_profil)
            CorUserProfil.del_cor(delete_users,id_profil)
            return jsonify({"msg":"Enregistrement réussi"})
        except (exc.SQLAlchemyError, exc.DBAPIError) as e:
            return jsonify({"msg":"Quelque chose s'est mal passé :" + e})
    return render_template(
        'tobelong.html',
        fLine=header,
        data=data,
        table=users_out_profil,
        table2=users_in_profil,
        info='Utilisateurs ayant le profil  "' + profil['profil_name'] + '"'
    )