Система справочников позволяет создавать в каждом проекте свой набор типов, этапов, приоритетов, сложностей и прочего. Каждый со своими атрибутами. Так как меняются они редко, используются только в контексте проекта, мы не держим их в таблицах, а пакуем в json в поля проекта. Из него они распаковываются в объекты, которые сервисы подставляют в соответствующие Entity.
Система справочников позволяет создавать в каждом проекте свой набор типов, этапов, приоритетов, сложностей и прочего. Каждый со своими атрибутами. Так как меняются они редко, используются только в контексте проекта, мы не держим их в таблицах, а пакуем в json в поля проекта. Из него они распаковываются в объекты, которые сервисы подставляют в соответствующие Entity.
Сама система реализуется в рамках [tndt-4]
- Справочник тип документа (Планируется) тип документа сильно влияет на его логику, и их количество ограничено, будет сделано классическим enum
порой приходится добавлять новый справочник, ранее не используемых, или сильно менять существующий, в проектах, в которых уже много задач. Чтобы не редактировать каждую из них, какието простые правила проставления новых значений справочников можно сделать через консольную команду app:dictionary:fill
Запуск локальной установки:
./bin/console app:dictionary:fill <projectsuffix> <dictionary>
Где projectsuffix - суффикс проекта. dictionary - справочник из списка:
По умолчанию команда меняет только значения только в задачах, где значение справочника не установлено. Можно указать ключ --from-value тогда будут заменены указанные значения.
По умолчанию команда меняет значение справочника на указное по умолчанию, можно указать какое-то особое значение с помощью ключа to-value
Ключ -r - меняет значения с тех значений, для который в настройках более не указан справочник.
Пример запуска с хоста hsrv, - задача у проекта hsrv появилась сложность задачи, надо проставить всем задачам сложность по умолчанию
make console "app:dictionary:fill hsrv task.complexity"