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)