admin/groups: show only users with groups or special privileges

This commit is contained in:
Lephe 2020-11-01 15:59:38 +01:00
parent 8155cf1550
commit 0be0d5ab65
Signed by untrusted user: Lephenixnoir
GPG Key ID: 1BBA026E13FC0495
1 changed files with 8 additions and 3 deletions

View File

@ -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)