def admin(request): """Admin front page page.""" admin = get_admin(request) # For now, admin panels always appear in ascending order model_admin_root = admin["models"] # TODO: Have renderer adapters for panels, so that they can override views rendered_panels = [render_panel(ma, request, name="admin_panel") for id, ma in model_admin_root.items()] return dict(panels=rendered_panels)
def admin(request): """Admin front page page.""" admin = get_admin(request) # For now, admin panels always appear in ascending order model_admin_root = admin["models"] # TODO: Have renderer adapters for panels, so that they can override views admin_panels = sorted(model_admin_root.items(), key=lambda pair: pair[1].title) rendered_panels = [render_panel(ma, request, name="admin_panel") for id, ma in admin_panels] return dict(panels=rendered_panels)
def test_admin_permissions(test_request): """Non-functional test to check admin permissions are sane.""" admin = get_admin(test_request) policy = test_request.registry.queryUtility(IAuthorizationPolicy) # Admin group access ok assert policy.permits(admin, "group:admin", "view") assert policy.permits(admin, "group:admin", "edit") assert policy.permits(admin, "group:admin", "delete") # Block world assert not policy.permits(admin, Everyone, "view") assert not policy.permits(admin, Everyone, "edit") assert not policy.permits(admin, Everyone, "delete")