Browse Source

port list always shows, even if device is not available

devel
Dmitry Novikov 7 years ago
parent
commit
efa00a9d3e
  1. 26
      devapp/views.py

26
devapp/views.py

@ -471,25 +471,27 @@ def devview(request, group_id: int, device_id: int):
template_name = 'generic_switch.html' template_name = 'generic_switch.html'
try: try:
if device.ip_address: if device.ip_address:
if not ping(str(device.ip_address)):
if ping(str(device.ip_address)):
if device.man_passw:
manager = device.get_manager_object()
ports = tuple(manager.get_ports())
if ports is not None and len(ports) > 0 and isinstance(ports[0],
Exception):
messages.error(request, ports[0])
ports = ports[1]
template_name = manager.get_template_name()
else:
messages.warning(request, _('Not Set snmp device password'))
else:
messages.error(request, _('Dot was not pinged')) messages.error(request, _('Dot was not pinged'))
if device.man_passw:
manager = device.get_manager_object()
ports = tuple(manager.get_ports())
if ports is not None and len(ports) > 0 and isinstance(ports[0],
Exception):
messages.error(request, ports[0])
ports = ports[1]
template_name = manager.get_template_name()
else:
messages.warning(request, _('Not Set snmp device password'))
return render(request, 'devapp/custom_dev_page/' + template_name, { return render(request, 'devapp/custom_dev_page/' + template_name, {
'dev': device, 'dev': device,
'ports': ports, 'ports': ports,
'dev_accs': Abon.objects.filter(device=device), 'dev_accs': Abon.objects.filter(device=device),
'dev_manager': manager, 'dev_manager': manager,
'ports_db': Port.objects.filter(device=device).annotate( 'ports_db': Port.objects.filter(device=device).annotate(
num_abons=Count('abon')),
num_abons=Count('abon')
),
}) })
except EasySNMPError as e: except EasySNMPError as e:
messages.error(request, messages.error(request,

Loading…
Cancel
Save