Skip to content

Commit

Permalink
related objects for serializer
Browse files Browse the repository at this point in the history
  • Loading branch information
amyasnikov committed Jan 9, 2024
1 parent 42131cb commit 0727ec4
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
5 changes: 4 additions & 1 deletion validity/templates/validity/serializer.html
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ <h5 class="card-header">Serializer</h5>
</div>
</div>
</div>
<div class="row mb-3">
{% include 'inc/panels/related_objects.html' %}
</div>
<div class="row">
{% include 'inc/panels/tags.html' %}
</div>
Expand All @@ -38,7 +41,7 @@ <h5 class="card-header">Template [Source: {{ object | data_source }}]</h5>
<div class="row">
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">Bound Devices</h5>
<h5 class="card-header">All Bound Devices</h5>
<div class="card-body">
<div class="pt-0 mb-3 col col-md-3">
{% include 'validity/inc/search_form.html' with model='Device' %}
Expand Down
13 changes: 13 additions & 0 deletions validity/views/serializer.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from dcim.filtersets import DeviceFilterSet
from dcim.models import Device, DeviceType, Manufacturer
from dcim.tables import DeviceTable
from django.db.models import Q
from netbox.views import generic
from utilities.views import register_model_view

Expand All @@ -21,6 +23,17 @@ class SerializerView(TableMixin, generic.ObjectView):
table = DeviceTable
filterset = DeviceFilterSet

def get_extra_context(self, request, instance):
cf_filter = Q(custom_field_data__serializer=instance.pk)
related_models = [
(model.objects.restrict(request.user, "view").filter(cf_filter), "cf_serializer")
for model in (Device, DeviceType, Manufacturer)
]
related_models.append(
(models.Command.objects.restrict(request.user, "view").filter(serializer=instance), "serializer_id")
)
return super().get_extra_context(request, instance) | {"related_models": related_models}


@register_model_view(models.Serializer, "delete")
class SerializerDeleteView(generic.ObjectDeleteView):
Expand Down

0 comments on commit 0727ec4

Please sign in to comment.