Example #1
0
def membres(id_liste):
    """
    Route affichant la liste des listes n'appartenant pas à la liste vis à vis de ceux qui appartiennent à celle-ci.
    Avec pour paramètre un id de liste (id_liste)
    Retourne un template avec pour paramètres:
        - une entête des tableaux --> fLine
        - le nom des colonnes de la base --> data
        - liste des listes n'appartenant pas à la liste --> table
        - liste des listes appartenant à la liste --> table2
    """

    users_in_list = TRoles.test_group(TRoles.get_user_in_list(id_liste))
    users_out_list = TRoles.test_group(TRoles.get_user_out_list(id_liste))
    mylist = TListes.get_one(id_liste)
    header = ["ID", "Nom"]
    data = ["id_role", "full_name"]
    if request.method == "POST":
        data = request.get_json()
        new_users_in_list = data["tab_add"]
        new_users_out_list = data["tab_del"]
        try:
            CorRoleListe.add_cor(id_liste, new_users_in_list)
            CorRoleListe.del_cor(id_liste, new_users_out_list)
        except Exception as e:
            return jsonify({"error": str(e)}), 500
        return jsonify({"redirect": url_for("liste.lists")}), 200
    return render_template(
        "tobelong.html",
        fLine=header,
        data=data,
        table=users_out_list,
        table2=users_in_list,
        info="Membres de la liste '" + mylist["nom_liste"] + "'",
    )
def membres(id_groupe):
    """
    Route affichant la liste des roles n'appartenant pas au groupe vis à vis de ceux qui appartiennent à celui ci.
    Avec pour paramètre un id de groupe (id_role)
    Retourne un template avec pour paramètres:
        - une entête des tableaux --> fLine
        - le nom des colonnes de la base --> data
        - liste des roles n'appartenant pas au groupe --> table
        - liste des roles appartenant au groupe --> table2
        - variable qui permet a jinja de colorer une ligne si celui-ci est un groupe --> group
    """

    users_in_group = TRoles.test_group(TRoles.get_user_in_group(id_groupe))
    users_out_group = TRoles.test_group(TRoles.get_user_out_group(id_groupe))
    group = TRoles.get_one(id_groupe)
    header = ['ID', 'Nom']
    data = ['id_role', 'full_name']
    if request.method == 'POST':
        data = request.get_json()
        new_users_in_group = data["tab_add"]
        new_users_out_group = data["tab_del"]
        try:
            CorRoles.add_cor(id_groupe, new_users_in_group)
            CorRoles.del_cor(id_groupe, new_users_out_group)
        except Exception as e:
            return jsonify(str(e)), 500
        return jsonify({'redirect': url_for('groupe.groups')}), 200
    return render_template("tobelong.html",
                           fLine=header,
                           data=data,
                           table=users_out_group,
                           table2=users_in_group,
                           group='groupe',
                           info="Membres du groupe '" + group['nom_role'] +
                           "'")