'Saves the module id if the found modification_date is less recent than the passed modification date'

def _update_last_visited_module_id(self, request, course, module_key, modification_date):

    field_data_cache = FieldDataCache.cache_for_descriptor_descendents(course.id, request.user, course, depth=2)
    try:
        module_descriptor = modulestore().get_item(module_key)
    except ItemNotFoundError:
        return Response(errors.ERROR_INVALID_MODULE_ID, status=400)
    module = get_module_for_descriptor(request.user, request, module_descriptor, field_data_cache, course.id, course=course)
    if modification_date:
        key = KeyValueStore.Key(scope=Scope.user_state, user_id=request.user.id, block_scope_id=course.location, field_name='position')
        original_store_date = field_data_cache.last_modified(key)
        if ((original_store_date is not None) and (modification_date < original_store_date)):
            return self._get_course_info(request, course)
    save_positions_recursively_up(request.user, request, field_data_cache, module, course=course)
    return self._get_course_info(request, course)
