Формулировка проблемы: для реализации задачи 57.9026 необходимо скорректировать поведение повторяющихся заметок и заметок-совещаний в системе.
Решение:
Повторяющиеся заметки.
Каждая из повторяющихся заметок может находиться в одном из следующих состояний:
прошедшая - наступившая и при этом не корневая заметка;
корневая - наступившая заметка, за которой следует уже будущая заметка;
будущая - еще не наступившая (фактически еще не созданная);
Для повторяющихся заметок вводится понятие
корневая заметка
. Под корневой заметкой будем
понимать такую заметку, редактирование которой (в т.ч. изменение
списка файлов) должно приводить к изменению всех будущих
повторяющихся заметок. Соответственно, все прошедшие повторяющиеся
заметки должны стать «обычными» независимыми заметками (со значением
поля «Повторять» - «Нет») со своим отдельным контейнером приложенных
файлов, и их редактирование должно изменять только саму эту заметку.
Корневой заметкой среди всех повторяющихся должна быть та из повторяющихся заметок, за которой уже следует будущая, еще не наступившая.
При удалении одной из будущих повторяющихся заметок удаляются все повторяющиеся заметки, начиная с самой удаляемой, при этом каждая из оставшихся заметок должна стать «обычной» независимой заметкой со своим отдельным контейнером приложенных файлов. Значение настройки «Повторять» при этом должно сброситься на значение «Нет».
Заметка-совещание.
При подтверждении участия в совещании неподчиненным сотрудником необходимо:
создавать заметку от имени автора (также как создается заметка-совещание подчиненным сотрудникам автора);
соответственно, не давать возможность редактировать и удалять эту заметку данным неподчиненным пользователям.