Вынесено из tndt-19. В целом ничего сложного, вся полиморфность подготовлена в tndt-19, здесь ей надо просто воспользоваться, попутно решив что не сработает.
Плюс в документах появляется сортировка по юзеру. (не то чтобы она нужна, просто в документах и так мало колонок).