Jeremy Stretch 7 лет назад
Родитель
Сommit
a208cd156d

+ 5 - 2
netbox/dcim/tables.py

@@ -818,8 +818,11 @@ class PowerFeedTable(BaseTable):
     name = tables.LinkColumn()
     power_panel = tables.LinkColumn(
         viewname='dcim:powerpanel',
-        args=[Accessor('power_panel.pk')],
-
+        args=[Accessor('rack.pk')],
+    )
+    rack = tables.LinkColumn(
+        viewname='dcim:rack',
+        args=[Accessor('pk')]
     )
     status = tables.TemplateColumn(
         template_code=STATUS_LABEL

+ 6 - 0
netbox/dcim/views.py

@@ -2198,9 +2198,15 @@ class PowerPanelView(View):
     def get(self, request, pk):
 
         powerpanel = get_object_or_404(PowerPanel.objects.select_related('site', 'rack_group'), pk=pk)
+        powerfeed_table = tables.PowerFeedTable(
+            data=PowerFeed.objects.filter(power_panel=powerpanel).select_related('rack'),
+            orderable=False
+        )
+        powerfeed_table.exclude = ['power_panel']
 
         return render(request, 'dcim/powerpanel.html', {
             'powerpanel': powerpanel,
+            'powerfeed_table': powerfeed_table,
         })
 
 

+ 20 - 1
netbox/templates/dcim/powerfeed.html

@@ -48,7 +48,7 @@
 
 {% block content %}
 <div class="row">
-	<div class="col-md-7">
+	<div class="col-md-6">
         <div class="panel panel-default">
             <div class="panel-heading">
                 <strong>Power Feed</strong>
@@ -82,6 +82,25 @@
                         <span class="label label-{{ powerfeed.get_status_class }}">{{ powerfeed.get_status_display }}</span>
                     </td>
                 </tr>
+                <tr>
+                    <td>Connected Device</td>
+                    <td>
+                        {% if powerfeed.connected_endpoint %}
+                            <a href="{{ powerfeed.connected_endpoint.device.get_absolute_url }}">{{ powerfeed.connected_endpoint.device }}</a> ({{ powerfeed.connected_endpoint }})
+                        {% else %}
+                            <span class="text-muted">None</span>
+                        {% endif %}
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </div>
+    <div class="col-md-6">
+        <div class="panel panel-default">
+            <div class="panel-heading">
+                <strong>Electrical Characteristics</strong>
+            </div>
+            <table class="table table-hover panel-body attr-table">
                 <tr>
                     <td>Supply</td>
                     <td>{{ powerfeed.get_supply_display }}</td>

+ 4 - 3
netbox/templates/dcim/powerpanel.html

@@ -48,7 +48,7 @@
 
 {% block content %}
 <div class="row">
-	<div class="col-md-5">
+	<div class="col-md-3">
         <div class="panel panel-default">
             <div class="panel-heading">
                 <strong>Power Panel</strong>
@@ -73,7 +73,8 @@
             </table>
         </div>
     </div>
-    <div class="col-md-7">
-	</div>
+	<div class="col-md-9">
+        {% include 'panel_table.html' with table=powerfeed_table heading='Connected Feeds' %}
+    </div>
 </div>
 {% endblock %}