diff --git a/devapp/dev_types.py b/devapp/dev_types.py index c57dfde..40cfaaf 100644 --- a/devapp/dev_types.py +++ b/devapp/dev_types.py @@ -514,3 +514,18 @@ class ZteOnuDevice(OnuDevice): snmp_fiber_num = int(bin_snmp_fiber_number, base=2) device.snmp_extra = "%d.%d" % (snmp_fiber_num, new_onu_port_num) device.save(update_fields=('snmp_extra',)) + + def get_fiber_str(self): + dev = self.db_instance + if not dev: + return + dat = dev.snmp_extra + if dat and '.' in dat: + snmp_fiber_num, onu_port_num = dat.split('.') + snmp_fiber_num = int(snmp_fiber_num) + bin_snmp_fiber_num = bin(snmp_fiber_num)[2:] + rack_num = int(bin_snmp_fiber_num[5:13], 2) + fiber_num = int(bin_snmp_fiber_num[13:21], 2) + return 'gpon-onu_1/%d/%d:%s' % ( + rack_num, fiber_num, onu_port_num + ) diff --git a/devapp/locale/ru/LC_MESSAGES/django.po b/devapp/locale/ru/LC_MESSAGES/django.po index 6ab7c45..8719acf 100644 --- a/devapp/locale/ru/LC_MESSAGES/django.po +++ b/devapp/locale/ru/LC_MESSAGES/django.po @@ -639,6 +639,9 @@ msgstr "Процесс занят другой задачей, подождит msgid "You have not info in extra_data field, please fill it in JSON" msgstr "Не заполнено поле 'Техническая информация', обратитесь к администратору" +msgid "Fiber" +msgstr "Интерфейс" + #~ msgid "Device %(device_name)s is up" #~ msgstr "%(device_name)s в сети" diff --git a/devapp/templates/devapp/custom_dev_page/onu_for_zte.html b/devapp/templates/devapp/custom_dev_page/onu_for_zte.html index 49317c6..43563d2 100644 --- a/devapp/templates/devapp/custom_dev_page/onu_for_zte.html +++ b/devapp/templates/devapp/custom_dev_page/onu_for_zte.html @@ -18,6 +18,7 @@
  • {% trans 'Ip address' %}: {{ dev.ip_address|default:'-' }}
  • {% trans 'Mac' %}: {{ dev.mac_addr }}
  • {% trans 'Description' %}: {{ dev.comment }}
  • +
  • {% trans 'Fiber' %}: {{ dev_manager.get_fiber_str }}
  • {% for da in dev_accs %}
  • {% trans 'Attached user' %}: {% if da.group %}