diff --git a/app/routes/admin/groups.py b/app/routes/admin/groups.py index 7e667cd..6c81bb1 100644 --- a/app/routes/admin/groups.py +++ b/app/routes/admin/groups.py @@ -1,7 +1,7 @@ from app.utils.priv_required import priv_required from flask_wtf import FlaskForm from wtforms import SubmitField -from app.models.user import Member, Group, GroupPrivilege +from app.models.user import Member, GroupMember, Group, GroupPrivilege from app.models.priv import SpecialPrivilege from app.utils.render import render from app import app, db @@ -12,7 +12,12 @@ import os @app.route('/admin/groupes', methods=['GET', 'POST']) @priv_required('access-admin-panel') def adm_groups(): - users = Member.query.all() - groups = Group.query.all() + # Users with either groups or special privileges + users_groups = Member.query.join(GroupMember) + users_special = Member.query \ + .join(SpecialPrivilege, Member.id == SpecialPrivilege.mid) + users = users_groups.union(users_special) + users = sorted(users, key = lambda x: x.name) + groups = Group.query.all() return render('admin/groups_privileges.html', users=users, groups=groups)