9 changed files with 87 additions and 75 deletions
-
11ip_pool/forms.py
-
56ip_pool/migrations/0001_initial.py
-
22ip_pool/models.py
-
24ip_pool/templates/ip_pool/ext.html
-
16ip_pool/templates/ip_pool/network_list.html
-
0ip_pool/templatetags/__init__.py
-
14ip_pool/templatetags/ip_pool_tags.py
-
8ip_pool/urls.py
-
11ip_pool/views.py
@ -1,56 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11 on 2018-06-12 13:24 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
initial = True |
|||
|
|||
dependencies = [ |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='EmployedIpModel', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('ip', models.GenericIPAddressField(unique=True, verbose_name='Ip address')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Employed ip', |
|||
'verbose_name_plural': 'Employed ip addresses', |
|||
'db_table': 'ip_pool_employed_ip', |
|||
'ordering': ('-id',), |
|||
}, |
|||
), |
|||
migrations.CreateModel( |
|||
name='NetworkModel', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('network', models.GenericIPAddressField(help_text='Dot separated ip address. For example: 192.168.1.100', unique=True, verbose_name='IP network')), |
|||
('mask', models.PositiveSmallIntegerField(default=24, help_text='For example: 24, if network is 192.168.1.0/24', verbose_name='Mask')), |
|||
('work_range_start_ip', models.GenericIPAddressField(default=2, help_text='Ip from 192.168.1.2 may be used', verbose_name='Work range start ip')), |
|||
('work_range_end_ip', models.GenericIPAddressField(default=254, help_text='Ip may be used until 192.168.1.254', verbose_name='Work range end ip')), |
|||
('description', models.CharField(max_length=64, verbose_name='Description')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Network', |
|||
'verbose_name_plural': 'Networks', |
|||
'db_table': 'ip_pool_network', |
|||
'ordering': ('description',), |
|||
}, |
|||
), |
|||
migrations.AddField( |
|||
model_name='employedipmodel', |
|||
name='network', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ip_pool.NetworkModel', verbose_name='Parent network'), |
|||
), |
|||
migrations.AlterUniqueTogether( |
|||
name='employedipmodel', |
|||
unique_together=set([('ip', 'network')]), |
|||
), |
|||
] |
|||
@ -0,0 +1,14 @@ |
|||
from django import template |
|||
from django.shortcuts import resolve_url |
|||
|
|||
from ip_pool.models import NetworkModel |
|||
|
|||
register = template.Library() |
|||
|
|||
|
|||
@register.simple_tag |
|||
def get_device_kinds(): |
|||
return (( |
|||
resolve_url('ip_pool:networks_%s' % kind_code), |
|||
kind_descr |
|||
)for kind_code, kind_descr in NetworkModel.NETWORK_KINDS) |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue