Пользовательские вкладки, поля и фильтры в досье¶
Часто необходимо, чтобы досье содержало дополнительные вкладки и поля, по которым можно было осуществлять поисковые запросы.
Для добавления пользовательских вкладок и полей в досье выполните следующие действия:
Подготовьте список пользовательских вкладок и полей для добавления в досье.
Откройте файл конфигурации
findface-security.sudo vi /etc/ffsecurity/config.py
В секцию
FFSECURITYвставьте новую секциюCUSTOM_FIELDSсо следующим содержимым:'items': список полей в досье. Опишите каждое поле следующими параметрами:'name': внутреннее имя поля, string.'label': название поля в веб-интерфейсе, string.'display': формат отображения (formилиlist), string или array.'tab': вкладка, на которой располагается поле. Если не задана, поле появится на главной странице досье (той, что с фотографией).'editable': редактируемость поля, boolean.'type': тип данных поля, string. Возможные значения:list: требует заданияitems, дополнительного параметра для списков (см. ниже), ожидает объекты {id, name} в словарях;valuelist: ожидает элементы примитивных типов.objectlist: позволяет создавать массивы объектов нужного типа.datetime: примитивный тип данных, отображаемый как список datetime.date: примитивный тип данных, отображаемый как выбор даты.boolean: примитивный тип данных, отображаемый как флажок.string: примитивный тип данныхstring.
- дополнительные параметры для списков (
type=list,type=valuelist):multiple: возможность выбора нескольких элементов в списке, boolean.items: словарь, используемый как источник данных для списка.allow_create: возможность добавления новых элементов в список, boolean.custom_id: пользовательское поле для id (type=list).
 - дополнительные параметры для списков объектов (
type=objectlist).object: объекты, используемые как источник данных для списка объектов.simple: указывает, что поле ожидает данные примитивного типа вместо объектов, например, ожидает строки с телефонными номерами.
 
'filters': список фильтров для поиска по пользовательским полям. Параметры:'name': внутреннее имя фильтра,'label': название фильтра в веб-интерфейсе,'field': связанное поле в форматеmeta__[имя поля](с двойным подчеркиванием).
'tabs': список вкладок в досье. Первая вкладка в списке соответствует главной странице досье.
FFSECURITY = { ... 'CUSTOM_FIELDS': { 'dossier_meta': { 'items': [ {'name': 'recid','label':"",'display':['form','list']}, {'name': 'name','label':"",'display':'form'}, {'name': 'address','label':"",'display':'form'}, {'name': 'notation','label':"",'display':'form'}, {'name': 'nullcolumn','label':"",'display':'form'}, {'name': 'photo','label':"",'display':'form'}, {'name': 'age', 'label':"",'display':'form', 'tab': 'look'}, {'name': 'growth', 'label':"",'display':'form', 'tab': 'look'}, ], 'filters': [ { 'name': 'recid', 'label': 'meta Field', 'field': 'meta__recid', }, ], 'tabs': [ {'name': 'main'}, {'name': 'look'}, {'name': 'crime'}, ], } } }
Вы увидите, что новая форма досье появилась в веб-интерфейсе: