def METHOD_NAME(data=None, errors=None, error_summary=None):
    """ new member request """
    context = {'model': model, 'session': model.Session,
               'user': g.user or g.author,
               'save': 'save' in request.form,
               'parent': request.params.get('parent', None)}
    try:
        check_access('member_request_create', context)
    except NotAuthorized:
        abort(403, NOT_AUTH_MESSAGE)
    if context['save'] and not data:
        return _save_new(context)
    data = data or {}
    extra_vars = {'data': data, 'errors': errors or {}, 'error_summary': error_summary or {}, 'action': 'new',
                  'selected_organization': request.params.get('selected_organization', None)}
    g.roles = _get_available_roles()
    g.user_role = 'editor'
    redirect_to_src_page = asbool(config.get('ytp.requests.redirect_to_src_page', 'true'))
    if redirect_to_src_page:
        return h.redirect_to(request.referrer)
    else:
        g.form = render("request/new_request_form.html", extra_vars=extra_vars)
        return render("request/new.html")