'Determine the URL path for the message explaining why the user was blocked.
This is configured per-course.  See `RestrictedCourse` in the `embargo.models`
module for more details.
Arguments:
course_key (CourseKey): The location of the course.
access_point (str): How the user was trying to access the course.
Can be either "enrollment" or "courseware".
Returns:
unicode: The URL path to a page explaining why the user was blocked.
Raises:
InvalidAccessPoint: Raised if access_point is not a supported value.'

@classmethod
def message_url_path(cls, course_key, access_point):

    if (access_point not in ['enrollment', 'courseware']):
        raise InvalidAccessPoint(access_point)
    cache_key = cls.MESSAGE_URL_CACHE_KEY.format(access_point=access_point, course_key=course_key)
    url = cache.get(cache_key)
    if (url is None):
        url = cls._get_message_url_path_from_db(course_key, access_point)
        cache.set(cache_key, url)
    return url
