Browse Source

move unregistered onu unit list to OLT page

devel
Dmitry Novikov 7 years ago
parent
commit
cea44f3634
  1. 39
      devapp/templates/devapp/custom_dev_page/olt_ztec320.html
  2. 63
      devapp/templates/devapp/custom_dev_page/olt_ztec320_units_uncfg.html
  3. 3
      devapp/urls.py
  4. 22
      devapp/views.py
  5. 2
      static/css/custom.css
  6. 2
      templates/all_base.html

39
devapp/templates/devapp/custom_dev_page/olt_ztec320.html

@ -17,13 +17,46 @@
{% for fiber in dev_manager.get_fibers %} {% for fiber in dev_manager.get_fibers %}
<div class="port{% if fiber.fb_onu_num > 0 %} mega{% endif %} text-center"> <div class="port{% if fiber.fb_onu_num > 0 %} mega{% endif %} text-center">
<b>{{ fiber.fb_name }}</b> <b>{{ fiber.fb_name }}</b>
<a href="{% url 'devapp:zte_port_view_uncfg' grp dev.id fiber.fb_id %}" class="port-img">
<b>{{ fiber.fb_onu_num }}</b>
</a>
<span class="port-img"><b>{{ fiber.fb_onu_num }}</b></span>
</div> </div>
{% empty %} {% empty %}
<h3>{% trans 'We have not received info, please check options :(' %}</h3> <h3>{% trans 'We have not received info, please check options :(' %}</h3>
{% endfor %} {% endfor %}
<hr>
<h4>{% trans 'Unregistered units' %}</h4>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th class="col-xs-1">#</th>
<th class="col-xs-2">{% trans 'Mac' %}</th>
<th class="col-xs-3">{% trans 'Firmware version' %}</th>
<th class="col-xs-3">{% trans 'LOID password' %}</th>
<th class="col-xs-2">{% trans 'LOID' %}</th>
<th class="col-xs-1">#</th>
</tr>
</thead>
<tbody>
{% for onu in unregistered %}
<tr>
<td>-</td>
<td>{{ onu.mac }}</td>
<td>{{ onu.firmware_ver }}</td>
<td>{{ onu.loid_passw }}</td>
<td>{{ onu.loid }}</td>
<td>
<a href="{% url 'devapp:add' grp %}?t=Zo&pdev={{ dev.pk }}&c={{ onu.loid }}&mac={{ onu.mac }}" title="{% trans 'Create device' %}">
<span class="glyphicon glyphicon-plus"></span>
</a>
</td>
</tr>
{% empty %}
<tr>
<td colspan="7">{% trans 'ONU not found' %}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div> </div>
<div class="panel-footer"> <div class="panel-footer">

63
devapp/templates/devapp/custom_dev_page/olt_ztec320_units_uncfg.html

@ -1,63 +0,0 @@
{% extends request.is_ajax|yesno:'nullcont.htm,devapp/ext.htm' %}
{% load i18n %}
{% block breadcrumb %}
<ol class="breadcrumb">
<li><span class="glyphicon glyphicon-home"></span></li>
<li><a href="{% url 'devapp:group_list' %}">{% trans 'Groups' %}</a></li>
{% if dev.group %}
<li><a href="{% url 'devapp:devs' dev.group.pk %}">{{ dev.group.title }}</a></li>
<li><a href="{% url 'devapp:view' dev.group.pk dev.id %}">{{ dev.comment }}</a></li>
{% else %}
<li>{% trans 'Not assigned' %}</li>
<li><a href="#">{{ dev.comment }}</a></li>
{% endif %}
<li class="active">{% trans 'OLT Scan' %}</li>
</ol>
{% endblock %}
{% block page-header %}
{{ dev.comment|default:_('Not assigned') }}. {% trans 'Unregistered units' %}
{% endblock %}
{% block content %}
<div class="row">
<div class="col-sm-12">
<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th class="col-xs-1">#</th>
<th class="col-xs-2">{% trans 'Mac' %}</th>
<th class="col-xs-3">{% trans 'Firmware version' %}</th>
<th class="col-xs-3">{% trans 'LOID password' %}</th>
<th class="col-xs-2">{% trans 'LOID' %}</th>
<th class="col-xs-1">#</th>
</tr>
</thead>
<tbody>
{% for onu in onu_list %}
<tr>
<td>-</td>
<td>{{ onu.mac }}</td>
<td>{{ onu.firmware_ver }}</td>
<td>{{ onu.loid_passw }}</td>
<td>{{ onu.loid }}</td>
<td>
<a href="{% url 'devapp:add' grp %}?t=Zo&pdev={{ dev.pk }}&c={{ onu.loid }}&mac={{ onu.mac }}" title="{% trans 'Create device' %}">
<span class="glyphicon glyphicon-plus"></span>
</a>
</td>
</tr>
{% empty %}
<tr>
<td colspan="7">{% trans 'ONU not found' %}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{% endblock %}

3
devapp/urls.py

@ -25,9 +25,6 @@ urlpatterns = [
path('fix_device_group/<int:device_id>/', views.fix_device_group, name='fix_device_group'), path('fix_device_group/<int:device_id>/', views.fix_device_group, name='fix_device_group'),
path('search_dev/', views.search_dev), path('search_dev/', views.search_dev),
# ZTE ports under fibers
path('<int:group_id>/<int:device_id>/<int:fiber_id>/', views.zte_port_view_uncfg, name='zte_port_view_uncfg'),
# Monitoring api # Monitoring api
path('on_device_event/', views.OnDeviceMonitoringEvent.as_view()), path('on_device_event/', views.OnDeviceMonitoringEvent.as_view()),

22
devapp/views.py

@ -501,11 +501,18 @@ def devview(request, group_id: int, device_id: int):
else: else:
messages.warning(request, _('Not Set snmp device password')) messages.warning(request, _('Not Set snmp device password'))
# unregistered units
unregistered = []
for fiber in manager.get_fibers():
for onu in manager.get_units_unregistered(int(fiber.get('fb_id'))):
if onu:
unregistered.append(onu)
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,
'unregistered': unregistered,
'ports_db': Port.objects.filter(device=device).annotate( 'ports_db': Port.objects.filter(device=device).annotate(
num_abons=Count('abon') num_abons=Count('abon')
), ),
@ -520,21 +527,6 @@ def devview(request, group_id: int, device_id: int):
}) })
@login_required
@only_admins
def zte_port_view_uncfg(request, group_id: str, device_id: str, fiber_id: str):
fiber_id = safe_int(fiber_id)
zte_olt_device = get_object_or_404(Device, id=device_id)
manager = zte_olt_device.get_manager_object()
onu_list = manager.get_units_unregistered(fiber_id)
return render(request,
'devapp/custom_dev_page/olt_ztec320_units_uncfg.html', {
'onu_list': onu_list,
'dev': zte_olt_device,
'grp': group_id
})
class RebootDevice(LoginAdminPermissionMixin, UpdateView): class RebootDevice(LoginAdminPermissionMixin, UpdateView):
permission_required = 'devapp.change_device' permission_required = 'devapp.change_device'
template_name = 'devapp/modal_device_reboot.html' template_name = 'devapp/modal_device_reboot.html'

2
static/css/custom.css

@ -151,7 +151,7 @@ td.btn-group {
position: relative; position: relative;
top: 27px; top: 27px;
} }
a.port-img{
.port-img{
display: block; display: block;
text-decoration: none; text-decoration: none;
} }

2
templates/all_base.html

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}?cs=feeb82e57e3f9244e91fdb3989858b6e"> <link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}?cs=feeb82e57e3f9244e91fdb3989858b6e">
<link rel="stylesheet" href="{% static 'css/bootstrap-theme.min.css' %}?cs=e65ecf24a5e11f9dad7b2ee948cbc700"> <link rel="stylesheet" href="{% static 'css/bootstrap-theme.min.css' %}?cs=e65ecf24a5e11f9dad7b2ee948cbc700">
<link rel="stylesheet" href="{% static 'css/custom.css' %}?cs=5b556d56381414214f8be1c90d8029a1">
<link rel="stylesheet" href="{% static 'css/custom.css' %}?cs=c1a99f1069b9b960b199759c62817214">
<script src="{% static 'js/all.min.js' %}?cs=079ae807778072e76caa96337a46c00a"></script> <script src="{% static 'js/all.min.js' %}?cs=079ae807778072e76caa96337a46c00a"></script>
{% block additional_link %}{% endblock %} {% block additional_link %}{% endblock %}
<script src="{% static 'js/my.js' %}?cs=10380bdc7bde34f1b79799f7b9d19fd6"></script> <script src="{% static 'js/my.js' %}?cs=10380bdc7bde34f1b79799f7b9d19fd6"></script>

Loading…
Cancel
Save