diff --git a/devapp/locale/ru/LC_MESSAGES/django.po b/devapp/locale/ru/LC_MESSAGES/django.po index a6cd989..1480529 100644 --- a/devapp/locale/ru/LC_MESSAGES/django.po +++ b/devapp/locale/ru/LC_MESSAGES/django.po @@ -502,3 +502,12 @@ msgstr "Не доступно" msgid "Down" msgstr "Не в сети" + +msgid "Subscriber on port" +msgstr "Абонент на порту" + +msgid "Show subscriber on port" +msgstr "Показать абонента на порту" + +msgid "Subscribers on port does not exist" +msgstr "Абоненты на порту не найдены" diff --git a/devapp/templates/devapp/manage_ports/list.html b/devapp/templates/devapp/manage_ports/list.html index 5f59abd..d83f012 100644 --- a/devapp/templates/devapp/manage_ports/list.html +++ b/devapp/templates/devapp/manage_ports/list.html @@ -8,10 +8,10 @@ - - - - + + + + @@ -28,6 +28,9 @@ {% endif %}
{% trans 'Number' %}{% trans 'Description' %}{% trans 'Count of subscribers' %}#{% trans 'Number' %}{% trans 'Description' %}{% trans 'Count of subscribers' %}#
{{ port.num_abons }} + + + {% if can_del_port %} diff --git a/devapp/templates/devapp/manage_ports/modal_show_subscriber_on_port.html b/devapp/templates/devapp/manage_ports/modal_show_subscriber_on_port.html new file mode 100644 index 0000000..eb8c6d2 --- /dev/null +++ b/devapp/templates/devapp/manage_ports/modal_show_subscriber_on_port.html @@ -0,0 +1,12 @@ +{% load i18n %} + + + + diff --git a/devapp/urls.py b/devapp/urls.py index 0667701..e7983a7 100644 --- a/devapp/urls.py +++ b/devapp/urls.py @@ -1,10 +1,8 @@ from django.conf.urls import url from . import views - app_name = 'devapp' - urlpatterns = [ url(r'^$', views.group_list, name='group_list'), url(r'^devices_without_groups$', views.devices_null_group, name='devices_null_group'), @@ -16,7 +14,10 @@ urlpatterns = [ url(r'^(?P\d+)/(?P\d+)/add$', views.add_single_port, name='add_port'), url(r'^(?P\d+)/(?P\d+)/edit$', views.dev, name='edit'), url(r'^(\d+)/(?P\d+)/ports$', views.manage_ports, name='manage_ports'), - url(r'^(?P\d+)/(?P\d+)/ports/(?P\d+)/fix_port_conflict$', views.fix_port_conflict, name='fix_port_conflict'), + url(r'^(?P\d+)/(?P\d+)/ports/(?P\d+)/fix_port_conflict$', views.fix_port_conflict, + name='fix_port_conflict'), + url(r'^(?P\d+)/(?P\d+)/ports/(?P\d+)/show_subscriber_on_port$', + views.ShowSubscriberOnPort.as_view(), name='show_subscriber_on_port'), url(r'^(\d+)/(?P\d+)/ports_add', views.add_ports, name='add_ports'), url(r'^(\d+)/(?P\d+)/(?P\d+)_(?P[0-1]{1})$', views.toggle_port, name='port_toggle'), url(r'^(?P\d+)/(?P\d+)/(?P\d+)/del$', views.delete_single_port, name='del_port'), diff --git a/devapp/views.py b/devapp/views.py index 63995da..7d1b6d2 100644 --- a/devapp/views.py +++ b/devapp/views.py @@ -5,13 +5,13 @@ from django.contrib.gis.shortcuts import render_to_text from django.core.exceptions import PermissionDenied from django.db import IntegrityError from django.db.models import Q, Count -from django.http import HttpResponse, JsonResponse +from django.http import HttpResponse, JsonResponse, Http404 from django.shortcuts import render, redirect, get_object_or_404, resolve_url from django.contrib import messages from django.utils.decorators import method_decorator from django.utils.translation import gettext_lazy as _, gettext from easysnmp import EasySNMPTimeoutError, EasySNMPError -from django.views.generic import ListView +from django.views.generic import ListView, DetailView from mydefs import pag_mn, res_success, res_error, only_admins, ping, order_helper, ip_addr_regex from abonapp.models import AbonGroup, Abon @@ -187,6 +187,21 @@ def manage_ports(request, device_id): }) +@method_decorator([login_required, only_admins], name='dispatch') +class ShowSubscriberOnPort(DetailView): + template_name = 'devapp/manage_ports/modal_show_subscriber_on_port.html' + http_method_names = ['get'] + + def get_object(self, queryset=None): + dev_id = self.kwargs.get('device_id') + port_id = self.kwargs.get('port_id') + try: + obj = Abon.objects.get(device_id=dev_id, dev_port_id=port_id) + except Abon.DoesNotExist: + raise Http404(gettext('Subscribers on port does not exist')) + return obj + + @login_required @permission_required('devapp.add_port') def add_ports(request, device_id): diff --git a/djing/urls.py b/djing/urls.py index 6a823cf..4846a4c 100644 --- a/djing/urls.py +++ b/djing/urls.py @@ -1,10 +1,9 @@ from django.conf.urls import url, include -from django.conf import settings +# from django.conf import settings from django.contrib import admin from .views import home - urlpatterns = [ url(r'^$', home), url(r'^accounts/', include('accounts_app.urls', namespace='acc_app')), @@ -22,11 +21,11 @@ urlpatterns = [ ] -if settings.DEBUG: - from django.conf.urls.static import static - from django.contrib.staticfiles.urls import staticfiles_urlpatterns - #from django.contrib import admin +# if settings.DEBUG: +# from django.conf.urls.static import static +# from django.contrib.staticfiles.urls import staticfiles_urlpatterns +# from django.contrib import admin - #urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) - #urlpatterns += staticfiles_urlpatterns() - #urlpatterns += [url(r'^admin/', admin.site.urls)] +# urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) +# urlpatterns += staticfiles_urlpatterns() +# urlpatterns += [url(r'^admin/', admin.site.urls)] diff --git a/static/js/my.js b/static/js/my.js index c065dd9..78592fa 100644 --- a/static/js/my.js +++ b/static/js/my.js @@ -19,7 +19,7 @@ function showSuccess(errContent) {show_Modal('Успешно', errContent, 'succ function showPrimary(errContent) {show_Modal('Внимание!', errContent, 'primary');} $(document).ajaxError(function (ev, jqXHR, ajaxSettings, thrownError) { - showErr(jqXHR.status + ': ' + jqXHR.statusText); + showErr(jqXHR.status + ': ' + jqXHR.responseText); }); diff --git a/templates/404.html b/templates/404.html index 7bb769f..5522e31 100644 --- a/templates/404.html +++ b/templates/404.html @@ -1,10 +1,18 @@ +{% if request.is_ajax %} + {% if exception %} + {{ exception }} + {% else %} +

Страница не найдена

+

Такого пути '{{ request_path }}' нет на сервере

+ {% endif %} +{% else %} Страница не найдена - + @@ -20,29 +28,35 @@ border-top-style: none; border-bottom-style: none; } + + + + -
-
-
-

404 - Страница не найдена

-
-

Такого пути '{{ request.path }}' нет на сервере

- На главную -
+
+
+
+

404 - Страница не найдена

+
+ {% if exception %} + {{ exception }} + {% else %} +

Такого пути '{{ request_path }}' нет на сервере

+ {% endif %} + На главную
+
+{% endif %} \ No newline at end of file