"""Page controls follow the same effective permissions as the API guards.""" def page_permissions(user): permissions = set(user.get('permissions') or []) admin = bool(user.get('is_superadmin')) result = {key: admin or 'workflows.' + key in permissions for key in ('view', 'manage', 'activate', 'override', 'settle')} result['decisions_view'] = admin or 'workflows.decisions.view' in permissions result['system_admin'] = admin or 'system.admin' in permissions result['economic_export'] = admin or 'economic.documents.export' in permissions return result