Require has_portal