mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 09:16:10 -06:00
Enable HTMX for additional emebedded tables
This commit is contained in:
parent
212356fc02
commit
757a27d90a
@ -3397,20 +3397,6 @@ class PowerPanelListView(generic.ObjectListView):
|
|||||||
class PowerPanelView(generic.ObjectView):
|
class PowerPanelView(generic.ObjectView):
|
||||||
queryset = PowerPanel.objects.all()
|
queryset = PowerPanel.objects.all()
|
||||||
|
|
||||||
def get_extra_context(self, request, instance):
|
|
||||||
power_feeds = PowerFeed.objects.restrict(request.user).filter(power_panel=instance)
|
|
||||||
powerfeed_table = tables.PowerFeedTable(
|
|
||||||
data=power_feeds,
|
|
||||||
orderable=False
|
|
||||||
)
|
|
||||||
if request.user.has_perm('dcim.delete_cable'):
|
|
||||||
powerfeed_table.columns.show('pk')
|
|
||||||
powerfeed_table.exclude = ['power_panel']
|
|
||||||
|
|
||||||
return {
|
|
||||||
'powerfeed_table': powerfeed_table,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@register_model_view(PowerPanel, 'edit')
|
@register_model_view(PowerPanel, 'edit')
|
||||||
class PowerPanelEditView(generic.ObjectEditView):
|
class PowerPanelEditView(generic.ObjectEditView):
|
||||||
|
@ -1200,10 +1200,6 @@ class L2VPNView(generic.ObjectView):
|
|||||||
queryset = L2VPN.objects.all()
|
queryset = L2VPN.objects.all()
|
||||||
|
|
||||||
def get_extra_context(self, request, instance):
|
def get_extra_context(self, request, instance):
|
||||||
terminations = L2VPNTermination.objects.restrict(request.user, 'view').filter(l2vpn=instance)
|
|
||||||
terminations_table = tables.L2VPNTerminationTable(terminations, user=request.user, exclude=('l2vpn', ))
|
|
||||||
terminations_table.configure(request)
|
|
||||||
|
|
||||||
import_targets_table = tables.RouteTargetTable(
|
import_targets_table = tables.RouteTargetTable(
|
||||||
instance.import_targets.prefetch_related('tenant'),
|
instance.import_targets.prefetch_related('tenant'),
|
||||||
orderable=False
|
orderable=False
|
||||||
@ -1214,7 +1210,6 @@ class L2VPNView(generic.ObjectView):
|
|||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'terminations_table': terminations_table,
|
|
||||||
'import_targets_table': import_targets_table,
|
'import_targets_table': import_targets_table,
|
||||||
'export_targets_table': export_targets_table,
|
'export_targets_table': export_targets_table,
|
||||||
}
|
}
|
||||||
|
@ -49,9 +49,11 @@
|
|||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body table-responsive">
|
<h5 class="card-header">Power Feeds</h5>
|
||||||
{% render_table powerfeed_table 'inc/table.html' %}
|
<div class="card-body htmx-container table-responsive"
|
||||||
</div>
|
hx-get="{% url 'dcim:powerfeed_list' %}?power_panel_id={{ object.pk }}"
|
||||||
|
hx-trigger="load"
|
||||||
|
></div>
|
||||||
<div class="card-footer noprint">
|
<div class="card-footer noprint">
|
||||||
{% if perms.dcim.change_powerfeed %}
|
{% if perms.dcim.change_powerfeed %}
|
||||||
<button type="submit" name="_edit" formaction="{% url 'dcim:powerfeed_bulk_edit' %}?return_url={% url 'dcim:powerpanel' pk=object.pk %}" class="btn btn-warning btn-sm">
|
<button type="submit" name="_edit" formaction="{% url 'dcim:powerfeed_bulk_edit' %}?return_url={% url 'dcim:powerpanel' pk=object.pk %}" class="btn btn-warning btn-sm">
|
||||||
|
@ -55,9 +55,10 @@
|
|||||||
<div class="col col-md-12">
|
<div class="col col-md-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h5 class="card-header">Terminations</h5>
|
<h5 class="card-header">Terminations</h5>
|
||||||
<div class="card-body">
|
<div class="card-body htmx-container table-responsive"
|
||||||
{% render_table terminations_table 'inc/table.html' %}
|
hx-get="{% url 'ipam:l2vpntermination_list' %}?l2vpn_id={{ object.pk }}"
|
||||||
</div>
|
hx-trigger="load"
|
||||||
|
></div>
|
||||||
{% if perms.ipam.add_l2vpntermination %}
|
{% if perms.ipam.add_l2vpntermination %}
|
||||||
<div class="card-footer text-end noprint">
|
<div class="card-footer text-end noprint">
|
||||||
<a href="{% url 'ipam:l2vpntermination_add' %}?l2vpn={{ object.pk }}&return_url={{ object.get_absolute_url }}" class="btn btn-primary btn-sm{% if not object.can_add_termination %} disabled" aria-disabled="true{% endif %}">
|
<a href="{% url 'ipam:l2vpntermination_add' %}?l2vpn={{ object.pk }}&return_url={{ object.get_absolute_url }}" class="btn btn-primary btn-sm{% if not object.can_add_termination %} disabled" aria-disabled="true{% endif %}">
|
||||||
|
Loading…
Reference in New Issue
Block a user