diff --git a/devapp/forms.py b/devapp/forms.py index fc5fd5f..980503a 100644 --- a/devapp/forms.py +++ b/devapp/forms.py @@ -28,5 +28,8 @@ class DeviceForm(forms.ModelForm): }), 'map_dot': forms.Select(attrs={ 'class': 'form-control' + }), + 'user_group': forms.Select(attrs={ + 'class': 'form-control' }) } diff --git a/devapp/locale/ru/LC_MESSAGES/django.po b/devapp/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 0000000..1929431 --- /dev/null +++ b/devapp/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,113 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE"S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Dmitry Novikov nerosketch@gmail.com, 2017. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 01:50+0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Dmitry Novikov nerosketch@gmail.com\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" + +msgid "Device info" +msgstr "Инфа о железке" + +msgid "Ip address" +msgstr "Ip адрес" + +msgid "Comment" +msgstr "Комментарий" + +msgid "Device type" +msgstr "Тип устройства" + +msgid "SNMP password" +msgstr "Пароль SNMP" + +msgid "Map point" +msgstr "Точка топологии" + +msgid "Save" +msgstr "Сохранить" + +msgid "Reset" +msgstr "Сбросить" + +msgid "Devices" +msgstr 'Устройства' + +msgid "Devices does not found" +msgstr "Нет созданных устройств" + +msgid "Create" +msgstr "Cоздать" + +msgid "Not assigned" +msgstr "<Не назначено>" + +msgid "Ports" +msgstr "Порты" + +msgid "Port" +msgstr "Порт" + +msgid "Edit" +msgstr "Редактировать" + +msgid "Title of the type of switch" +msgstr "Название типа свича" + +msgid "Uptime" +msgstr "Без перезагрузки" + +msgid "We have not received info, please check options :(" +msgstr "Инфа не получена, проверьте настройки :(" + +msgid "Device log" +msgstr "Лог устройства" + +msgid "Level" +msgstr "Уровень" + +msgid "Description" +msgstr "Описание" + +msgid "Date" +msgstr "Дата" + +msgid "Ports comment" +msgstr "Комментарии портов" + +msgid "Title" +msgstr "Название" + +msgid "We have not received info for ports" +msgstr "Инфа о портах не получена" + +msgid "Delete failed" +msgstr "Неизвестная ошибка при удалении :(" + +msgid "Device info has been saved" +msgstr "Инфа о точке сохранена" + +msgid "Form is invalid, check fields and try again" +msgstr "Ошибка в данных, проверте их ещё раз" + +msgid "Not Set snmp device password" +msgstr "Не указан snmp пароль для устройства" + +msgid "Dot was not pinged" +msgstr "Эта точка не пингуется" + +msgid "wait for a reply from the SNMP Timeout" +msgstr "Время ожидания ответа от SNMP истекло" diff --git a/devapp/templates/devapp/dev.html b/devapp/templates/devapp/dev.html index c60a9bb..389098e 100644 --- a/devapp/templates/devapp/dev.html +++ b/devapp/templates/devapp/dev.html @@ -1,9 +1,10 @@ {% extends request.is_ajax|yesno:'nullcont.htm,devapp/ext.htm' %} +{% load i18n %} {% block content %}
-

Инфа о железке

+

{% trans 'Device info' %}

@@ -15,7 +16,7 @@ {% endif %}" method="post">{% csrf_token %}
- +
@@ -24,7 +25,7 @@
- +
@@ -33,7 +34,7 @@
- +
@@ -42,7 +43,7 @@
- +
@@ -51,7 +52,7 @@
- +
@@ -61,10 +62,10 @@
diff --git a/devapp/templates/devapp/devices.html b/devapp/templates/devapp/devices.html index 6aee6f8..0e6c2eb 100644 --- a/devapp/templates/devapp/devices.html +++ b/devapp/templates/devapp/devices.html @@ -1,22 +1,22 @@ {% extends request.is_ajax|yesno:'bajax.html,base.html' %} +{% load i18n %} {% block main %} - {% include 'message_block.html' %} -

Устройства

+

{% trans 'Devices' %}

- - - + + + @@ -37,7 +37,7 @@ {% empty %} - + {% endfor %} @@ -46,7 +46,7 @@ diff --git a/devapp/templates/devapp/ext.htm b/devapp/templates/devapp/ext.htm index 65553fa..94f8d13 100644 --- a/devapp/templates/devapp/ext.htm +++ b/devapp/templates/devapp/ext.htm @@ -1,16 +1,17 @@ {% extends request.is_ajax|yesno:'bajax.html,base.html' %} +{% load i18n %} {% block main %} {% include 'message_block.html' %} diff --git a/devapp/templates/devapp/ports.html b/devapp/templates/devapp/ports.html index 01d998a..8913b1d 100644 --- a/devapp/templates/devapp/ports.html +++ b/devapp/templates/devapp/ports.html @@ -1,12 +1,13 @@ {% extends request.is_ajax|yesno:'nullcont.htm,devapp/ext.htm' %} +{% load i18n %} {% block content %}
-
{{ dev.get_devtype_display|default:'Название типа свича' }}, без - перезагрузки {{ uptime }}
+
{{ dev.get_devtype_display|default:_('Title of the type of switch') }}. + {% trans 'Uptime' %} {{ uptime }}
@@ -38,7 +39,7 @@
{% empty %} -

Инфа не получена, проверьте настройки :(

+

{% trans 'We have not received info, please check options :(' %}

{% endfor %}
@@ -50,16 +51,16 @@
-

Лог устройства

+

{% trans 'Device log' %}

IpКомментарийТип{% trans 'Ip address' %}{% trans 'Comment' %}{% trans 'Device type' %} Do
Нет созданных устройств, создать{% trans 'Devices does not found' %}. {% trans 'Create' %}
- Добавить + {% trans 'Create' %}
- - - + + + @@ -125,25 +126,25 @@
-

Комментарии портов

+

{% trans 'Ports comment' %}

IDуровеньописаниедата{% trans 'Level' %}{% trans 'Description' %}{% trans 'Date' %}
- - + + {% for port in ports %} - + {% empty %} - + {% endfor %} diff --git a/devapp/views.py b/devapp/views.py index 7d52def..2ec8a10 100644 --- a/devapp/views.py +++ b/devapp/views.py @@ -3,6 +3,7 @@ from django.contrib.auth.decorators import login_required, permission_required from django.core.exceptions import PermissionDenied from django.shortcuts import render, redirect, get_object_or_404 from django.contrib import messages +from django.utils.translation import ugettext as _ from easysnmp import EasySNMPTimeoutError from .models import Device @@ -25,10 +26,10 @@ def devices(request): @permission_required('devapp.delete_device') def devdel(request, did): try: - get_object_or_404(Device, id=did).delete() + Device.objects.get(pk=did).delete() return res_success(request, 'devapp:devs') - except: - return res_error(request, 'Неизвестная ошибка при удалении :(') + except Device.DoesNotExist: + return res_error(request, _('Delete failed')) @login_required @@ -46,9 +47,9 @@ def dev(request, devid=0): frm = DeviceForm(request.POST, instance=devinst) if frm.is_valid(): frm.save() - messages.success(request, 'Инфа о точке сохранена') + messages.success(request, _('Device info has been saved')) else: - messages.error(request, 'Ошибка в данных, проверте их ещё раз') + messages.error(request, _('Form is invalid, check fields and try again')) else: frm = DeviceForm(instance=devinst) @@ -72,11 +73,11 @@ def devview(request, did): uptime = manager.uptime() ports = manager.get_ports() else: - messages.warning(request, 'Не указан snmp пароль для устройства') + messages.warning(request, _('Not Set snmp device password')) else: - messages.error(request, 'Эта точка не пингуется') + messages.error(request, _('Dot was not pinged')) except EasySNMPTimeoutError: - messages.error(request, 'Время ожидания ответа от SNMP истекло') + messages.error(request, _('wait for a reply from the SNMP Timeout')) return render(request, 'devapp/ports.html', { 'dev': dev, @@ -100,7 +101,7 @@ def toggle_port(request, did, portid, status=0): else: ports[portid-1].disable() else: - messages.warning(request, 'Не указан snmp пароль для устройства') + messages.warning(request, _('Not Set snmp device password')) else: - messages.error(request, 'Эта точка не пингуется') + messages.error(request, _('Dot was not pinged')) return redirect('devapp:view', did=did)
ПортНазвание{% trans 'Port' %}{% trans 'Title' %}
{{ port.num }}{{ port.nm|default:"<не назначен>" }}{{ port.nm|default:_('Not assigned') }}
инфа о портах не получена{% trans 'We have not received info for ports' %}