Implement fix for field 'filterable' that was broken. Added new custom field parameter 'filter_logic'
This commit is contained in:
parent
19805a4312
commit
cdbfdaf361
|
@ -168,7 +168,7 @@ text_field:
|
|||
label: Custom Text
|
||||
description: Enter text in a text field.
|
||||
required: false
|
||||
filterable: true
|
||||
filter_logic: loose
|
||||
weight: 0
|
||||
on_objects:
|
||||
- dcim.models.Device
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
# label: Custom Text
|
||||
# description: Enter text in a text field.
|
||||
# required: false
|
||||
# filterable: true
|
||||
# weight: 0
|
||||
# on_objects:
|
||||
# - dcim.models.Device
|
||||
|
@ -17,7 +16,7 @@
|
|||
# label: Custom Number
|
||||
# description: Enter numbers into an integer field.
|
||||
# required: true
|
||||
# filterable: true
|
||||
# filter_logic: loose
|
||||
# weight: 10
|
||||
# on_objects:
|
||||
# - tenancy.models.Tenant
|
||||
|
@ -25,7 +24,7 @@
|
|||
# type: selection
|
||||
# label: Choose between items
|
||||
# required: false
|
||||
# filterable: true
|
||||
# filter_logic: exact
|
||||
# weight: 30
|
||||
# on_objects:
|
||||
# - dcim.models.Device
|
||||
|
@ -44,7 +43,7 @@
|
|||
# type: boolean
|
||||
# label: Yes Or No?
|
||||
# required: true
|
||||
# filterable: true
|
||||
# filter_logic: loose
|
||||
# default: "false" # important: but "false" in quotes!
|
||||
# weight: 90
|
||||
# on_objects:
|
||||
|
@ -54,13 +53,13 @@
|
|||
# label: Hyperlink
|
||||
# description: Link to something nice.
|
||||
# required: true
|
||||
# filterable: false
|
||||
# filter_logic: disabled
|
||||
# on_objects:
|
||||
# - tenancy.models.Tenant
|
||||
# date_field:
|
||||
# type: date
|
||||
# label: Important Date
|
||||
# required: false
|
||||
# filterable: false
|
||||
# filter_logic: disabled
|
||||
# on_objects:
|
||||
# - dcim.models.Device
|
||||
|
|
|
@ -36,8 +36,11 @@ with open('/opt/netbox/initializers/custom_fields.yml', 'r') as stream:
|
|||
if cf_details.get('description', 0):
|
||||
custom_field.description = cf_details['description']
|
||||
|
||||
if cf_details.get('filterable', 0):
|
||||
custom_field.is_filterables = cf_details['filterable']
|
||||
# If no filter_logic is specified then it will default to 'Loose'
|
||||
if cf_details.get('filter_logic', 0):
|
||||
for choice_id, choice_text in CF_FILTER_CHOICES:
|
||||
if choice_text.lower() == cf_details['filter_logic']:
|
||||
custom_field.filter_logic = choice_id
|
||||
|
||||
if cf_details.get('label', 0):
|
||||
custom_field.label = cf_details['label']
|
||||
|
|
Loading…
Reference in New Issue