mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-23 04:22:01 -06:00
Fix issues with the ContactAssignmentListView
This commit is contained in:
parent
81b8046d1d
commit
c73829fe92
@ -81,6 +81,10 @@ class ContactFilterSet(NetBoxModelFilterSet):
|
|||||||
|
|
||||||
|
|
||||||
class ContactAssignmentFilterSet(ChangeLoggedModelFilterSet):
|
class ContactAssignmentFilterSet(ChangeLoggedModelFilterSet):
|
||||||
|
q = django_filters.CharFilter(
|
||||||
|
method='search',
|
||||||
|
label=_('Search'),
|
||||||
|
)
|
||||||
content_type = ContentTypeFilter()
|
content_type = ContentTypeFilter()
|
||||||
contact_id = django_filters.ModelMultipleChoiceFilter(
|
contact_id = django_filters.ModelMultipleChoiceFilter(
|
||||||
queryset=Contact.objects.all(),
|
queryset=Contact.objects.all(),
|
||||||
@ -101,6 +105,14 @@ class ContactAssignmentFilterSet(ChangeLoggedModelFilterSet):
|
|||||||
model = ContactAssignment
|
model = ContactAssignment
|
||||||
fields = ['id', 'content_type_id', 'object_id', 'priority']
|
fields = ['id', 'content_type_id', 'object_id', 'priority']
|
||||||
|
|
||||||
|
def search(self, queryset, name, value):
|
||||||
|
if not value.strip():
|
||||||
|
return queryset
|
||||||
|
return queryset.filter(
|
||||||
|
Q(contact__name__icontains=value) |
|
||||||
|
Q(role__name__icontains=value)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class ContactModelFilterSet(django_filters.FilterSet):
|
class ContactModelFilterSet(django_filters.FilterSet):
|
||||||
contact = django_filters.ModelMultipleChoiceFilter(
|
contact = django_filters.ModelMultipleChoiceFilter(
|
||||||
|
@ -49,6 +49,7 @@ urlpatterns = [
|
|||||||
# Contact assignments
|
# Contact assignments
|
||||||
path('contact-assignments/', views.ContactAssignmentListView.as_view(), name='contactassignment_list'),
|
path('contact-assignments/', views.ContactAssignmentListView.as_view(), name='contactassignment_list'),
|
||||||
path('contact-assignments/add/', views.ContactAssignmentEditView.as_view(), name='contactassignment_add'),
|
path('contact-assignments/add/', views.ContactAssignmentEditView.as_view(), name='contactassignment_add'),
|
||||||
|
path('contact-assignments/delete/', views.ContactAssignmentBulkDeleteView.as_view(), name='contactassignment_bulk_delete'),
|
||||||
path('contact-assignments/<int:pk>/', include(get_model_urls('tenancy', 'contactassignment'))),
|
path('contact-assignments/<int:pk>/', include(get_model_urls('tenancy', 'contactassignment'))),
|
||||||
|
|
||||||
]
|
]
|
||||||
|
@ -354,6 +354,7 @@ class ContactAssignmentListView(generic.ObjectListView):
|
|||||||
filterset = filtersets.ContactAssignmentFilterSet
|
filterset = filtersets.ContactAssignmentFilterSet
|
||||||
filterset_form = forms.ContactAssignmentFilterForm
|
filterset_form = forms.ContactAssignmentFilterForm
|
||||||
table = tables.ContactAssignmentTable
|
table = tables.ContactAssignmentTable
|
||||||
|
actions = ('export', 'bulk_delete')
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(ContactAssignment, 'edit')
|
@register_model_view(ContactAssignment, 'edit')
|
||||||
@ -376,6 +377,12 @@ class ContactAssignmentEditView(generic.ObjectEditView):
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class ContactAssignmentBulkDeleteView(generic.BulkDeleteView):
|
||||||
|
queryset = ContactAssignment.objects.all()
|
||||||
|
filterset = filtersets.ContactAssignmentFilterSet
|
||||||
|
table = tables.ContactAssignmentTable
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(ContactAssignment, 'delete')
|
@register_model_view(ContactAssignment, 'delete')
|
||||||
class ContactAssignmentDeleteView(generic.ObjectDeleteView):
|
class ContactAssignmentDeleteView(generic.ObjectDeleteView):
|
||||||
queryset = ContactAssignment.objects.all()
|
queryset = ContactAssignment.objects.all()
|
||||||
|
Loading…
Reference in New Issue
Block a user