def METHOD_NAME(self, request, **kwargs):
    accepted_terms = request.DATA.get("accepted_terms", None)
    if accepted_terms in (None, False):
        raise exc.BadRequest(_("You must accept our terms of service and privacy policy"))
    self.check_permissions(request, 'register', None)
    type = request.DATA.get("type", None)
    if type == "public":
        return self._public_register(request)
    elif type == "private":
        return self._private_register(request)
    raise exc.BadRequest(_("invalid registration type"))