def blue_dot_menu(request):
    """ Returns the blue dot menu. If possible a cached copy is returned.
    """

    html = request.session.get(BLUE_DOT_CACHE_KEY)
    if not html:
        html = request.session[BLUE_DOT_CACHE_KEY] = \
            HttpResponse(QuickbooksApi(request.user).app_menu())
    return html