diff --git a/ip_pool/__init__.py b/ip_pool/__init__.py
deleted file mode 100644
index 8c4aa32..0000000
--- a/ip_pool/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-default_app_config = 'ip_pool.apps.IpPoolConfig'
diff --git a/ip_pool/admin.py b/ip_pool/admin.py
deleted file mode 100644
index e98d823..0000000
--- a/ip_pool/admin.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from django.contrib import admin
-
-from . import models
-
-
-admin.site.register(models.IpPoolItem)
diff --git a/ip_pool/apps.py b/ip_pool/apps.py
deleted file mode 100644
index 8b8d232..0000000
--- a/ip_pool/apps.py
+++ /dev/null
@@ -1,6 +0,0 @@
-from django.apps import AppConfig
-
-
-class IpPoolConfig(AppConfig):
- name = 'ip_pool'
- verbose_name = "Ip pool"
diff --git a/ip_pool/forms.py b/ip_pool/forms.py
deleted file mode 100644
index 0e6f43f..0000000
--- a/ip_pool/forms.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-from django import forms
-
-from mydefs import ip_addr_regex
-
-
-class PoolForm(forms.Form):
- start_ip = forms.GenericIPAddressField(protocol='ipv4', widget=forms.TextInput(attrs={
- 'pattern': ip_addr_regex,
- 'placeholder': '127.0.0.1',
- 'id': 'start_ip',
- 'class': 'form-control',
- 'required': ''
- }), required=True)
-
- end_ip = forms.GenericIPAddressField(protocol='ipv4', widget=forms.TextInput(attrs={
- 'pattern': ip_addr_regex,
- 'placeholder': '127.0.0.1',
- 'id': 'end_ip',
- 'class': 'form-control',
- 'required': ''
- }), required=True)
diff --git a/ip_pool/migrations/0001_initial.py b/ip_pool/migrations/0001_initial.py
deleted file mode 100644
index fa5fcad..0000000
--- a/ip_pool/migrations/0001_initial.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.9 on 2016-06-28 23:51
-
-from django.db import migrations, models
-
-import mydefs
-
-
-class Migration(migrations.Migration):
- initial = True
-
- dependencies = [
- ]
-
- operations = [
- migrations.CreateModel(
- name='IpPoolItem',
- fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('ip', mydefs.MyGenericIPAddressField(max_length=8, protocol='ipv4')),
- ],
- ),
- ]
diff --git a/ip_pool/migrations/__init__.py b/ip_pool/migrations/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/ip_pool/models.py b/ip_pool/models.py
deleted file mode 100644
index d76e56b..0000000
--- a/ip_pool/models.py
+++ /dev/null
@@ -1,59 +0,0 @@
-from django.db import models, connection
-
-from mydefs import ip2int, MyGenericIPAddressField
-
-
-class IpPoolItemManager(models.Manager):
- def get_pools(self):
- ips = self.raw(r'SELECT id, ip FROM ip_pool_ippoolitem ORDER BY id')
- ips_len = len(list(ips))
- if ips_len < 1:
- return
- last_dg = ip2int(ips[0].ip)
- start_pool = last_dg
- res = list()
- cnt = 0
- for ip in ips:
- ipnt = ip2int(ip.ip)
- if ipnt > last_dg + 1 or ipnt < last_dg - 1:
- res.append((start_pool, last_dg, cnt))
- start_pool = ipnt
- cnt = 0
- last_dg = ipnt
- cnt += 1
- res.append((start_pool, last_dg, cnt))
- return res
-
- def add_pool(self, start_ip, end_ip):
- start_ip = ip2int(start_ip)
- end_ip = ip2int(end_ip)
-
- if (end_ip - start_ip) > 5000:
- raise Exception('Not add over 5000 ip\'s')
-
- sql_strs = [r"(%d)" % tip for tip in range(start_ip, end_ip + 1)]
- sql = r'INSERT INTO ip_pool_ippoolitem (ip) VALUES %s' % r",".join(sql_strs)
-
- cursor = connection.cursor()
- cursor.execute(sql)
-
- def get_free_ip(self):
- sql = r'SELECT ip_pool_ippoolitem.id as id, ip_pool_ippoolitem.ip as ip FROM ip_pool_ippoolitem ' \
- r'LEFT JOIN abonent ON abonent.ip_address_id = ip_pool_ippoolitem.id WHERE ' \
- r'abonent.ip_address_id IS NULL LIMIT 1'
-
- rs = self.raw(sql)
- rs_len = len(list(rs))
- return None if rs_len is 0 else rs[0]
-
-
-class IpPoolItem(models.Model):
- ip = MyGenericIPAddressField()
-
- objects = IpPoolItemManager()
-
- def int_ip(self):
- return ip2int(self.ip)
-
- def __str__(self):
- return self.ip
diff --git a/ip_pool/templates/ip_pool/add_pool.html b/ip_pool/templates/ip_pool/add_pool.html
deleted file mode 100644
index 3f0fe69..0000000
--- a/ip_pool/templates/ip_pool/add_pool.html
+++ /dev/null
@@ -1,48 +0,0 @@
-{% extends 'base.html' %}
-{% block main %}
-
-
-
-
- - IP Пул
- - Добавить
-
-
- {% include 'message_block.html' %}
-
-
-
-
Добавить IP пул
-
-
-
-
-{% endblock %}
\ No newline at end of file
diff --git a/ip_pool/templates/ip_pool/index.html b/ip_pool/templates/ip_pool/index.html
deleted file mode 100644
index 01e6a44..0000000
--- a/ip_pool/templates/ip_pool/index.html
+++ /dev/null
@@ -1,73 +0,0 @@
-{% extends 'base.html' %}
-{% block main %}
-
-
-
-
- - IP Пул
-
-
- {% include 'message_block.html' %}
-
- Пулы ip адресов
-
-
-
-
- | Начальный IP |
- Конечный IP |
- Количество |
- Ред. |
- Уд. |
-
-
-
- {% for pl in pools %}
-
- | {{ pl.0 }} |
- {{ pl.1 }} |
- {{ pl.2 }} |
-
-
-
-
-
-
- {% if perms.ip_pool.delete_ippoolitem %}
-
-
-
- {% endif %}
-
- |
-
- {% empty %}
-
- | Нет ни одного пула зарезервированных ip адресов.
- {% if perms.ip_pool.add_ippoolitem %}
- Создать
- {% endif %}
- |
-
- {% endfor %}
-
-
- {% if perms.ip_pool.add_ippoolitem %}
-
-
- |
-
-
-
- |
-
-
- {% endif %}
-
-
-
-
- {% include 'toolbar_page.html' with pag=pools %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/ip_pool/templates/ip_pool/ips.html b/ip_pool/templates/ip_pool/ips.html
deleted file mode 100644
index bc12475..0000000
--- a/ip_pool/templates/ip_pool/ips.html
+++ /dev/null
@@ -1,59 +0,0 @@
-{% extends 'base.html' %}
-{% block main %}
-
-
-
-
- - IP Пул
- - Редактировать/Просмотреть
-
-
-
- История абонента
-
-
-
-
- | Id |
- Ip |
- Клиент |
- Уд. |
-
-
-
- {% for pi in pool_ips %}
-
- | {{ pi.id }} |
- {{ pi.ip }} |
- {% if pi.abon %}
- {{ pi.abon.username }}
- {% else %}---{% endif %}
- |
-
- {% if pi.abon %}
-
- {% elif perms.ip_pool.delete_ippoolitem %}
-
-
-
- {% endif %}
- |
-
- {% empty %}
-
- | Нет ни одного пула зарезервированных ip адресов.
- {% if perms.ip_pool.add_ippoolitem %}
- Создать
- {% endif %}
- |
-
- {% endfor %}
-
-
-
-
- {% include 'toolbar_page.html' with pag=pool_ips %}
-
-{% endblock %}
\ No newline at end of file
diff --git a/ip_pool/urls.py b/ip_pool/urls.py
deleted file mode 100644
index de54c47..0000000
--- a/ip_pool/urls.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- coding:utf-8 -*-
-from django.conf.urls import url
-
-from . import views
-
-
-urlpatterns = [
-
- url(r'^$', views.home, name='home'),
- url(r'^range$', views.ips, name='ips'),
- url(r'^del$', views.del_pool, name='ips_del'),
- url(r'^add$', views.add_pool, name='add'),
-
- url(r'^delip$', views.delip, name='del_ip')
-]
diff --git a/ip_pool/views.py b/ip_pool/views.py
deleted file mode 100644
index 001bf03..0000000
--- a/ip_pool/views.py
+++ /dev/null
@@ -1,81 +0,0 @@
-# -*- coding: utf-8 -*-
-from django.contrib.auth.decorators import login_required, permission_required
-from django.shortcuts import render, redirect, get_object_or_404
-from django.contrib import messages
-
-from .forms import PoolForm
-from .models import IpPoolItem
-import mydefs
-
-
-@login_required
-@mydefs.only_admins
-def home(request):
- pools = IpPoolItem.objects.get_pools()
-
- if pools:
- pools = [(mydefs.int2ip(ip[0]), mydefs.int2ip(ip[1]), ip[2]) for ip in pools]
- pools = mydefs.pag_mn(request, pools)
-
- return render(request, 'ip_pool/index.html', {
- 'pools': pools
- })
-
-
-@login_required
-@mydefs.only_admins
-def ips(request):
- ip_start = request.GET.get('ips')
- ip_end = request.GET.get('ipe')
-
- pool_ips = IpPoolItem.objects.filter(ip__gte=ip_start)
- pool_ips = pool_ips.filter(ip__lte=ip_end)
-
- pool_ips = mydefs.pag_mn(request, pool_ips)
-
- return render(request, 'ip_pool/ips.html', {
- 'pool_ips': pool_ips,
- 'ips': ip_start,
- 'ipe': ip_end
- })
-
-
-@login_required
-@permission_required('ip_pool.delete_ippoolitem')
-def del_pool(request):
- ip_start = request.GET.get('ips')
- ip_end = request.GET.get('ipe')
-
- pool_ips = IpPoolItem.objects.filter(ip__gte=ip_start)
- pool_ips = pool_ips.filter(ip__lte=ip_end)
- pool_ips = pool_ips.filter()
-
- pool_ips.delete()
-
- return mydefs.res_success(request, 'ip_pool:home')
-
-
-@login_required
-@permission_required('ip_pool.add_ippoolitem')
-def add_pool(request):
- if request.method == 'POST':
- frm = PoolForm(request.POST)
- if frm.is_valid():
- cd = frm.cleaned_data
- IpPoolItem.objects.add_pool(cd['start_ip'], cd['end_ip'])
- return redirect('ip_pool:home')
- else:
- messages.error(request, 'Исправьте ошибки')
- else:
- frm = PoolForm()
- return render(request, 'ip_pool/add_pool.html', {
- 'form': frm
- })
-
-
-@login_required
-@permission_required('ip_pool.delete_ippoolitem')
-def delip(request):
- ipid = request.GET.get('id')
- get_object_or_404(IpPoolItem, id=ipid).delete()
- return mydefs.res_success(request, 'ip_pool:home')