7025 assignments

This commit is contained in:
Arthur Hanson 2024-07-19 13:12:17 +07:00
parent b86f862515
commit 6956d88bf9
4 changed files with 28 additions and 10 deletions

View File

@ -190,16 +190,10 @@ class CircuitGroupAssignmentForm(NetBoxModelForm):
group = DynamicModelChoiceField(
label=_('Group'),
queryset=CircuitGroup.objects.all(),
initial_params={
'groups': '$group'
}
)
circuit = DynamicModelChoiceField(
label=_('Circuit'),
queryset=Circuit.objects.all(),
initial_params={
'circuits': '$circuit'
}
)
class Meta:

View File

@ -128,13 +128,22 @@ class CircuitGroupTable(NetBoxTable):
verbose_name=_('Name'),
linkify=True
)
circuit_group_assignment_count = columns.LinkedCountColumn(
viewname='circuits:circuitgroupassignment_list',
url_params={'group_id': 'pk'},
verbose_name=_('Circuits')
)
tags = columns.TagColumn(
url_name='circuits:circuitgroup_list'
)
class Meta(NetBoxTable.Meta):
model = CircuitGroup
fields = (
'pk', 'name', 'created', 'last_updated', 'actions',
'pk', 'name', 'circuit_group_assignment_count', 'tags',
'created', 'last_updated', 'actions',
)
default_columns = ('pk', 'name',)
default_columns = ('pk', 'name', 'circuit_group_assignment_count')
class CircuitGroupAssignmentTable(NetBoxTable):

View File

@ -447,16 +447,23 @@ register_model_view(CircuitTermination, 'trace', kwargs={'model': CircuitTermina
#
class CircuitGroupListView(generic.ObjectListView):
queryset = CircuitGroup.objects.all()
queryset = CircuitGroup.objects.annotate(
circuit_group_assignment_count=count_related(CircuitGroupAssignment, 'group')
)
filterset = filtersets.CircuitGroupFilterSet
filterset_form = forms.CircuitGroupFilterForm
table = tables.CircuitGroupTable
@register_model_view(CircuitGroup)
class CircuitGroupView(generic.ObjectView):
class CircuitGroupView(GetRelatedModelsMixin, generic.ObjectView):
queryset = CircuitGroup.objects.all()
def get_extra_context(self, request, instance):
return {
'related_models': self.get_related_models(request, instance),
}
@register_model_view(CircuitGroup, 'edit')
class CircuitGroupEditView(generic.ObjectEditView):

View File

@ -10,6 +10,14 @@
<li class="breadcrumb-item"><a href="{% url 'circuits:circuitgroup_list' %}?circuitgroup_id={{ object.id }}">{{ object.name }}</a></li>
{% endblock %}
{% block extra_controls %}
{% if perms.circuit.add_circuitgroupassignment %}
<a href="{% url 'circuits:circuitgroupassignment_add' %}?group={{ object.pk }}" class="btn btn-primary">
<span class="mdi mdi-plus-thick" aria-hidden="true"></span> {% trans "Add Circuit Assignment" %}
</a>
{% endif %}
{% endblock extra_controls %}
{% block content %}
<div class="row mb-3">
<div class="col col-md-6">