mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-29 11:56:25 -06:00
Add a table form override and add a table column remap option
This commit is contained in:
parent
fd38255d31
commit
30e653197e
@ -162,14 +162,22 @@ class ObjectListView(BaseMultiObjectView, ActionsMixin, TableMixin):
|
|||||||
# Render the objects table
|
# Render the objects table
|
||||||
table = self.get_table(self.queryset, request, has_bulk_actions)
|
table = self.get_table(self.queryset, request, has_bulk_actions)
|
||||||
|
|
||||||
# Check for filterset_form on this view, if a form exists
|
# Check for filterset_form(s) on this view and/or the table, if a form exists:
|
||||||
# * Apply to context for use by the filter form tab and initialize the form
|
# * If both exist, initialize both
|
||||||
|
# * If a filterset form for the table exists, only initialize the table filterset_form
|
||||||
|
# * If a filterset form exists for the view, initialize the filterset form
|
||||||
# * Apply to the table for use by the table and initialize a separate instance of the form for use by the table
|
# * Apply to the table for use by the table and initialize a separate instance of the form for use by the table
|
||||||
# column filters
|
# column filters
|
||||||
# * Otherwise set to None
|
# * Otherwise set to None
|
||||||
if self.filterset_form:
|
if self.filterset_form and table.filterset_form:
|
||||||
|
filterset_form = self.filterset_form(request.GET)
|
||||||
|
table.filterset_form = table.filterset_form(request.GET)
|
||||||
|
elif self.filterset_form and not table.filterset_form:
|
||||||
filterset_form = self.filterset_form(request.GET)
|
filterset_form = self.filterset_form(request.GET)
|
||||||
table.filterset_form = self.filterset_form(request.GET)
|
table.filterset_form = self.filterset_form(request.GET)
|
||||||
|
elif not self.filterset_form and table.filterset_form:
|
||||||
|
filterset_form = None
|
||||||
|
table.filterset_form = table.filterset_form(request.GET)
|
||||||
else:
|
else:
|
||||||
filterset_form = None
|
filterset_form = None
|
||||||
table.filterset_form = None
|
table.filterset_form = None
|
||||||
|
@ -36,6 +36,9 @@ def getfield(form, fieldname):
|
|||||||
|
|
||||||
@register.filter()
|
@register.filter()
|
||||||
def get_filter_field(form, fieldname):
|
def get_filter_field(form, fieldname):
|
||||||
|
# Check for a table form column map attribute and use that to map form fields if set
|
||||||
|
if hasattr(form, '_table_form_column_map') and form._table_form_column_map.get(fieldname):
|
||||||
|
return getfield(form, form._table_form_column_map.get(fieldname))
|
||||||
return getfield(form, f'{fieldname}') or getfield(form, f'{fieldname}_id')
|
return getfield(form, f'{fieldname}') or getfield(form, f'{fieldname}_id')
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user