Source code for uw.local.grad.webui.authority
"""Authorization-related utility routines.
This includes authorization checkers for academic units and applications.
"""
from operator import attrgetter
from itertools import groupby
from ll.xist.ns import html
from uw.web.wsgi import parameter
from ...util.format import format_person
[docs]def check_unitapp_authority (environ, cursor, unitapp, **params):
"""Check for authorization within the unit application.
For use with :func:`uw.web.wsgi.authority.check_authority`.
"""
roles = cursor.user_unitapp_roles (person_id=environ['remote_identity'].person_id, unitapp=unitapp)
parameter.set_param (environ, 'roles', roles)
return bool (roles)
[docs]def check_unit_authority (environ, cursor, unit, **params):
"""Check for authorization within the unit.
For use with :func:`uw.web.wsgi.authority.check_authority`.
"""
roles = cursor.user_unit_roles (person_id=environ['remote_identity'].person_id, unit_code=unit.unit_code)
parameter.set_param (environ, 'roles', roles)
return bool (roles)