Enable HTMX for additional emebedded tables

This commit is contained in:
jeremystretch 2023-01-16 11:56:48 -05:00
parent 212356fc02
commit 757a27d90a
4 changed files with 40 additions and 56 deletions

View File

@ -3397,20 +3397,6 @@ class PowerPanelListView(generic.ObjectListView):
class PowerPanelView(generic.ObjectView):
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')
class PowerPanelEditView(generic.ObjectEditView):

View File

@ -1200,10 +1200,6 @@ class L2VPNView(generic.ObjectView):
queryset = L2VPN.objects.all()
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(
instance.import_targets.prefetch_related('tenant'),
orderable=False
@ -1214,7 +1210,6 @@ class L2VPNView(generic.ObjectView):
)
return {
'terminations_table': terminations_table,
'import_targets_table': import_targets_table,
'export_targets_table': export_targets_table,
}

View File

@ -49,9 +49,11 @@
<form method="post">
{% csrf_token %}
<div class="card">
<div class="card-body table-responsive">
{% render_table powerfeed_table 'inc/table.html' %}
</div>
<h5 class="card-header">Power Feeds</h5>
<div class="card-body htmx-container table-responsive"
hx-get="{% url 'dcim:powerfeed_list' %}?power_panel_id={{ object.pk }}"
hx-trigger="load"
></div>
<div class="card-footer noprint">
{% 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">

View File

@ -55,9 +55,10 @@
<div class="col col-md-12">
<div class="card">
<h5 class="card-header">Terminations</h5>
<div class="card-body">
{% render_table terminations_table 'inc/table.html' %}
</div>
<div class="card-body htmx-container table-responsive"
hx-get="{% url 'ipam:l2vpntermination_list' %}?l2vpn_id={{ object.pk }}"
hx-trigger="load"
></div>
{% if perms.ipam.add_l2vpntermination %}
<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 %}">