diff --git a/mo/web/org_place.py b/mo/web/org_place.py index 6c19c6697a001c66b23a5976262ddfe7becb84ca..8d032472d41fd7e0db2fad49c340b5296238e7ae 100644 --- a/mo/web/org_place.py +++ b/mo/web/org_place.py @@ -29,13 +29,10 @@ def org_place(id: int): school = None children = sorted(place.children, key=lambda p: locale.strxfrm(p.name)) - - rr = mo.rights.Rights(g.user) - rr.get_for(place) + rr = g.gatekeeper.rights_for(place) return render_template( 'org_place.html', place=place, school=school, - rights=sorted(rr.current_rights, key=lambda r: r. name), can_edit=rr.can_edit_place(place), children=children ) @@ -79,9 +76,7 @@ def org_place_edit(id: int): if not place: raise werkzeug.exceptions.NotFound() - rr = mo.rights.Rights(g.user) - rr.get_for(place) - + rr = g.gatekeeper.rights_for(place) if not rr.can_edit_place(place): raise werkzeug.exceptions.Forbidden() @@ -177,8 +172,7 @@ def org_place_move(id: int): place = sess.query(db.Place).get(id) if not place: raise werkzeug.exceptions.NotFound() - rr = mo.rights.Rights(g.user) - rr.get_for(place) + rr = g.gatekeeper.rights_for(place) if not rr.can_edit_place(place): raise werkzeug.exceptions.Forbidden() @@ -240,8 +234,7 @@ def org_place_delete(id: int): place = sess.query(db.Place).get(id) if not place: raise werkzeug.exceptions.NotFound() - rr = mo.rights.Rights(g.user) - rr.get_for(place) + rr = g.gatekeeper.rights_for(place) if not rr.can_edit_place(place): raise werkzeug.exceptions.Forbidden() @@ -288,8 +281,7 @@ def org_place_new_child(id: int): parent_place = sess.query(db.Place).get(id) if not parent_place: raise werkzeug.exceptions.NotFound() - rr = mo.rights.Rights(g.user) - rr.get_for(parent_place) + rr = g.gatekeeper.rights_for(parent_place) if not rr.can_edit_place(parent_place): raise werkzeug.exceptions.Forbidden() if not parent_place.can_have_child(): @@ -360,10 +352,10 @@ def org_place_rights(id: int): .all()) roles.sort(key=lambda r: (mo.rights.role_order_by_type[r.role], r.user.sort_key())) - rr = mo.rights.Rights(g.user) - rr.get_for(place) + rr = g.gatekeeper.rights_for(place) + rights = sorted(rr.rights, key=lambda r: r.name) return render_template( - 'org_place_rights.html', place=place, rights=rr.current_rights, + 'org_place_rights.html', place=place, rights=rights, roles=roles, roles_by_type=mo.rights.roles_by_type )