[#181] AP Client Count report was broken
The DB query was joining on the device_port_wireless table which as any fule kno isn't using the device port subinterface name so there would always be zero results (as wireless data is related to the subinterface). Fixed the query to use the device_port_ssid table, and also added a dedicated template so additional data can be displayed in the report.
This commit is contained in:
		
							
								
								
									
										63
									
								
								Netdisco/share/views/ajax/report/apclients.tt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								Netdisco/share/views/ajax/report/apclients.tt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| <table id="data-table" class="table table-striped table-bordered" width="100%" cellspacing="0"> | ||||
|   <thead> | ||||
|     <tr> | ||||
|       <th>Device</th> | ||||
|       <th>Model</th> | ||||
|       <th>Location</th> | ||||
|       <th>Port</th> | ||||
|       <th>SSID</th> | ||||
|       <th>Node Count</th> | ||||
|     </tr> | ||||
|   </thead> | ||||
| </table> | ||||
|  | ||||
| <script type="text/javascript"> | ||||
| $(document).ready(function() { | ||||
|   var table = $('#data-table').dataTable({ | ||||
|     "deferRender": true, | ||||
|     "order": [[ 5, "desc" ]], | ||||
|     "data": [% results %], | ||||
|     "columns": [ | ||||
|       { | ||||
|         "data": 'ip', | ||||
|         "render": function(data, type, row, meta) { | ||||
|           return type === 'display' ? | ||||
|             '<a href="[% uri_for('/device') %]?tab=details&q=' + encodeURIComponent(row.ip) + '">' | ||||
|             + he.encode(row.dns || row.name || row.ip) + '</a>' : | ||||
|           data; | ||||
|         } | ||||
|       }, { | ||||
|         "data": 'model', | ||||
|         "render": function(data, type, row, meta) { | ||||
|           return he.encode(data || ''); | ||||
|         } | ||||
|       }, { | ||||
|         "data": 'location', | ||||
|         "render": function(data, type, row, meta) { | ||||
|           return he.encode(data || ''); | ||||
|         } | ||||
|       }, { | ||||
|         "data": 'port', | ||||
|         "type": 'portsort', | ||||
|         "render": function(data, type, row, meta) { | ||||
|           return type === 'display' ? | ||||
|             '<a href="[% device_ports %]&q=' + encodeURIComponent(row.ip) + '&f=' + encodeURIComponent(data) + '&c_nodes=on">' + he.encode(data) + '</a>' : | ||||
|             data; | ||||
|         } | ||||
|       }, { | ||||
|         "data": 'ssid', | ||||
|         "render": function(data, type, row, meta) { | ||||
|           return he.encode(data || ''); | ||||
|         } | ||||
|       }, { | ||||
|         "data": 'mac_count', | ||||
|         "searchable": false, | ||||
|         "render": function(data, type, row, meta) { | ||||
|           return data.replace(/\B(?=(\d{3})+(?!\d))/g, ","); | ||||
|         } | ||||
|       } | ||||
|     ], | ||||
| [% INCLUDE 'ajax/datatabledefaults.tt' -%] | ||||
|   }); | ||||
| }); | ||||
| </script> | ||||
		Reference in New Issue
	
	Block a user