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