Пользовательские вкладки, поля и фильтры в досье¶
Часто необходимо, чтобы досье содержало дополнительные вкладки и поля, по которым можно было осуществлять поисковые запросы.
Для добавления пользовательских вкладок и полей в досье выполните следующие действия:
Подготовьте список пользовательских вкладок и полей для добавления в досье.
Откройте файл конфигурации
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'}, ], } } }
Вы увидите, что новая форма досье появилась в веб-интерфейсе: