Browse Source

Makes gateway disabled flag

devel
Dmitry Novikov 7 years ago
parent
commit
c319bb994d
  1. 6
      gw_app/locale/ru/LC_MESSAGES/django.po
  2. 18
      gw_app/migrations/0003_nasmodel_enabled.py
  3. 4
      gw_app/models.py
  4. 17
      gw_app/nas_managers/mod_mikrotik.py
  5. 23
      gw_app/templates/gw_app/nasmodel_list.html

6
gw_app/locale/ru/LC_MESSAGES/django.po

@ -157,3 +157,9 @@ msgstr "Убедитесь что значение меньше или равн
msgid "%(model_name)s with this %(field_label)s already exists."
msgstr "%(model_name)s с таким %(field_label)s уже существует."
msgid "Enabled"
msgstr "Включен"
msgid "Gateway disabled"
msgstr "Шлюз выключен"

18
gw_app/migrations/0003_nasmodel_enabled.py

@ -0,0 +1,18 @@
# Generated by Django 2.1 on 2018-11-15 13:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('gw_app', '0002_auto_20181101_1545'),
]
operations = [
migrations.AddField(
model_name='nasmodel',
name='enabled',
field=models.BooleanField(default=True, verbose_name='Enabled'),
),
]

4
gw_app/models.py

@ -16,6 +16,7 @@ class NASModel(models.Model):
auth_passw = models.CharField(_('Auth password'), max_length=127)
nas_type = models.CharField(_('Type'), max_length=4, choices=MyChoicesAdapter(NAS_TYPES), default=NAS_TYPES[0][0])
default = models.BooleanField(_('Is default'), default=False)
enabled = models.BooleanField(_('Enabled'), default=True)
def get_nas_manager_klass(self):
try:
@ -32,7 +33,8 @@ class NASModel(models.Model):
login=self.auth_login,
password=self.auth_passw,
ip=self.ip_address,
port=int(self.ip_port)
port=int(self.ip_port),
enabled=bool(self.enabled)
)
setattr(self, '_nas_mngr', o)
return o

17
gw_app/nas_managers/mod_mikrotik.py

@ -170,14 +170,17 @@ class MikrotikTransmitter(core.BaseTransmitter, ApiRos,
(ABCMeta, LazyInitMetaclass), {})):
description = _('Mikrotik NAS')
def __init__(self, login: str, password: str, ip: str, port: int, *args,
**kwargs):
def __init__(self, login: str, password: str, ip: str, port: int,
enabled: bool, *args, **kwargs):
if not enabled:
raise core.NasFailedResult(_('Gateway disabled'))
try:
core.BaseTransmitter.__init__(self,
login=login, password=password,
ip=ip,
port=port, *args, **kwargs
)
core.BaseTransmitter.__init__(
self, login=login,
password=password,
ip=ip, port=port,
*args, **kwargs
)
ApiRos.__init__(self, ip, port)
self.login(username=login, pwd=password)
except ConnectionRefusedError:

23
gw_app/templates/gw_app/nasmodel_list.html

@ -18,11 +18,10 @@
<div class="col-sm-6">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">dasdasd</h3>
<h3 class="panel-title">{{ nas.title }}</h3>
</div>
<div class="panel-body">
<dl class="dl-horizontal">
<dt>{% trans 'Title' %}</dt> <dd>{{ nas.title }}</dd>
<dt>{% trans 'Ip address' %}</dt> <dd>{{ nas.ip_address }}</dd>
<dt>{% trans 'Port' %}</dt> <dd>{{ nas.ip_port }}</dd>
<dt>{% trans 'Auth login' %}</dt> <dd>{{ nas.auth_login }}</dd>
@ -32,16 +31,22 @@
<dd>
<input type="checkbox" {{ nas.default|yesno:'checked,' }}>
</dd>
<dt>{% trans 'Enabled' %}</dt>
<dd>
<input type="checkbox" {{ nas.enabled|yesno:'checked,' }}>
</dd>
</dl>
</div>
<div class="panel-footer">
<div class="btn-group btn-group-sm">
<a href="{% url 'gw_app:edit' nas.pk %}" class="btn btn-default">
<span class="glyphicon glyphicon-eye-open"></span>
<span class="hidden-md">{% trans 'View' %}</span>
</a>
{% if perms.gw_app.change_nasmodel %}
<div class="panel-footer">
<div class="btn-group btn-group-sm">
<a href="{% url 'gw_app:edit' nas.pk %}" class="btn btn-default">
<span class="glyphicon glyphicon-edit"></span>
<span class="hidden-md">{% trans 'Edit' %}</span>
</a>
</div>
</div>
</div>
{% endif %}
</div>
</div>
{% empty %}

Loading…
Cancel
Save