Browse Source
На ветке global_group_update
На ветке global_group_update
Изменения, которые будут включены в коммит: изменено: abonapp/admin.py изменено: abonapp/forms.py изменено: abonapp/locale/ru/LC_MESSAGES/django.po переименовано: abonapp/migrations/0001_squashed_0022_auto_20170816_1109.py -> abonapp/migrations/0001_initial.py удалено: abonapp/migrations/0002_auto_20170905_1248.py удалено: abonapp/migrations/0003_auto_20170927_1838.py удалено: abonapp/migrations/0004_auto_20180122_1732.py удалено: abonapp/migrations/0005_auto_20180123_1353.py удалено: abonapp/migrations/0006_abon_markers.py изменено: abonapp/models.py изменено: abonapp/templates/abonapp/addAbon.html удалено: abonapp/templates/abonapp/addGroup.html изменено: abonapp/templates/abonapp/addInvoice.html изменено: abonapp/templates/abonapp/buy_tariff.html изменено: abonapp/templates/abonapp/charts.html изменено: abonapp/templates/abonapp/editAbon.html изменено: abonapp/templates/abonapp/ext.htm изменено: abonapp/templates/abonapp/group_list.html изменено: abonapp/templates/abonapp/group_tariffs.html изменено: abonapp/templates/abonapp/invoiceForPayment.html изменено: abonapp/templates/abonapp/modal_abonamount.html изменено: abonapp/templates/abonapp/passport_view.html изменено: abonapp/templates/abonapp/payHistory.html изменено: abonapp/templates/abonapp/peoples.html изменено: abonapp/templates/abonapp/service.html изменено: abonapp/urls.py изменено: abonapp/views.py изменено: accounts_app/migrations/0001_initial.py удалено: accounts_app/migrations/0002_userprofile_email.py удалено: accounts_app/migrations/0003_auto_20161206_2135.py удалено: accounts_app/migrations/0004_auto_20170128_1316.py удалено: accounts_app/migrations/0005_auto_20170222_2224.py удалено: accounts_app/migrations/0006_auto_20170416_1029.py удалено: accounts_app/migrations/0007_auto_20170816_1109.py удалено: accounts_app/migrations/0008_auto_20170927_1838.py изменено: accounts_app/models.py изменено: accounts_app/templates/accounts/create_acc.html изменено: accounts_app/templates/accounts/profile_chgroup.html изменено: accounts_app/templates/accounts/set_abon_groups_permission.html изменено: accounts_app/views.py изменено: agent/commands/dhcp.py изменено: chatbot/migrations/0001_initial.py удалено: chatbot/migrations/0002_auto_20171214_1517.py изменено: clientsideapp/views.py изменено: devapp/forms.py изменено: devapp/locale/ru/LC_MESSAGES/django.po новый файл: devapp/migrations/0001_initial.py удалено: devapp/migrations/0001_squashed_0007_auto_20170816_1109.py удалено: devapp/migrations/0002_device_user_group.py удалено: devapp/migrations/0003_auto_20170927_1838.py удалено: devapp/migrations/0004_auto_20171103_0006.py удалено: devapp/migrations/0005_device_snmp_item_num.py удалено: devapp/migrations/0006_auto_20180129_1625.py изменено: devapp/models.py изменено: devapp/templates/devapp/add_dev.html изменено: devapp/templates/devapp/custom_dev_page/olt.html изменено: devapp/templates/devapp/custom_dev_page/onu.html изменено: devapp/templates/devapp/custom_dev_page/ports.html изменено: devapp/templates/devapp/dev.html изменено: devapp/templates/devapp/devices.html изменено: devapp/templates/devapp/devices_null_group.html изменено: devapp/templates/devapp/ext.htm изменено: devapp/templates/devapp/fix_dev_group.html изменено: devapp/templates/devapp/group_list.html изменено: devapp/templates/devapp/manage_ports/add_ports.html изменено: devapp/templates/devapp/manage_ports/fix_abon_device.html изменено: devapp/templates/devapp/manage_ports/list.html изменено: devapp/views.py изменено: dialing_app/migrations/0001_initial.py удалено: dialing_app/migrations/0002_auto_20171229_1353.py удалено: dialing_app/migrations/0003_smsout.py изменено: dialing_app/views.py изменено: djing/settings.py изменено: djing/urls.py новый файл: group_app/__init__.py новый файл: group_app/admin.py новый файл: group_app/apps.py новый файл: group_app/forms.py новый файл: group_app/locale/ru/LC_MESSAGES/django.po новый файл: group_app/migrations/0001_initial.py новый файл: group_app/migrations/__init__.py новый файл: group_app/models.py новый файл: group_app/templates/group_app/add_group.html новый файл: group_app/templates/group_app/edit_group.html новый файл: group_app/templates/group_app/ext.html новый файл: group_app/templates/group_app/group_list.html новый файл: group_app/tests.py новый файл: group_app/urls.py новый файл: group_app/views.py изменено: locale/ru/LC_MESSAGES/django.po изменено: mapapp/migrations/0001_initial.py удалено: mapapp/migrations/0002_auto_20171103_0006.py изменено: mapapp/templates/maps/dot.html изменено: mapapp/templates/maps/map_tooltip.html изменено: mapapp/templates/maps/ya_index.html изменено: mapapp/views.py изменено: msg_app/migrations/0001_initial.py изменено: photo_app/migrations/0001_initial.py переименовано: statistics/migrations/0002_statcache.py -> statistics/migrations/0001_initial.py изменено: tariff_app/migrations/0001_initial.py удалено: tariff_app/migrations/0002_tariff_descr.py удалено: tariff_app/migrations/0003_tariff_is_admin.py удалено: tariff_app/migrations/0004_auto_20170416_0350.py удалено: tariff_app/migrations/0005_auto_20170502_2229.py удалено: tariff_app/migrations/0006_auto_20180122_1732.py удалено: tariff_app/migrations/0007_auto_20180215_1423.py изменено: tariff_app/models.py изменено: tariff_app/templates/tariff_app/tarifs.html изменено: taskapp/forms.py изменено: taskapp/migrations/0001_initial.py удалено: taskapp/migrations/0001_squashed_0015_auto_20170816_1109.py удалено: taskapp/migrations/0002_auto_20161006_0027.py удалено: taskapp/migrations/0002_auto_20180219_1255.py удалено: taskapp/migrations/0003_auto_20161130_1815.py удалено: taskapp/migrations/0004_auto_20161202_1230.py удалено: taskapp/migrations/0005_auto_20161206_0013.py удалено: taskapp/migrations/0006_auto_20161206_2135.py удалено: taskapp/migrations/0007_auto_20161206_2303.py удалено: taskapp/migrations/0008_auto_20161213_1932.py удалено: taskapp/migrations/0009_auto_20161216_2214.py удалено: taskapp/migrations/0010_auto.py удалено: taskapp/migrations/0011_auto_20170116_0126.py удалено: taskapp/migrations/0012_auto_20170407_0124.py удалено: taskapp/migrations/0013_auto_20170413_1944.py удалено: taskapp/migrations/0014_auto_20170416_1029.py удалено: taskapp/migrations/0015_auto_20170816_1109.py изменено: templates/base.htmldevel
128 changed files with 1170 additions and 2371 deletions
-
1abonapp/admin.py
-
19abonapp/forms.py
-
17abonapp/locale/ru/LC_MESSAGES/django.po
-
308abonapp/migrations/0001_initial.py
-
52abonapp/migrations/0002_auto_20170905_1248.py
-
43abonapp/migrations/0003_auto_20170927_1838.py
-
130abonapp/migrations/0004_auto_20180122_1732.py
-
20abonapp/migrations/0005_auto_20180123_1353.py
-
23abonapp/migrations/0006_abon_markers.py
-
27abonapp/models.py
-
4abonapp/templates/abonapp/addAbon.html
-
39abonapp/templates/abonapp/addGroup.html
-
8abonapp/templates/abonapp/addInvoice.html
-
10abonapp/templates/abonapp/buy_tariff.html
-
2abonapp/templates/abonapp/charts.html
-
24abonapp/templates/abonapp/editAbon.html
-
16abonapp/templates/abonapp/ext.htm
-
12abonapp/templates/abonapp/group_list.html
-
5abonapp/templates/abonapp/group_tariffs.html
-
6abonapp/templates/abonapp/invoiceForPayment.html
-
3abonapp/templates/abonapp/modal_abonamount.html
-
2abonapp/templates/abonapp/passport_view.html
-
4abonapp/templates/abonapp/payHistory.html
-
33abonapp/templates/abonapp/peoples.html
-
14abonapp/templates/abonapp/service.html
-
2abonapp/urls.py
-
182abonapp/views.py
-
63accounts_app/migrations/0001_initial.py
-
20accounts_app/migrations/0002_userprofile_email.py
-
25accounts_app/migrations/0003_auto_20161206_2135.py
-
18accounts_app/migrations/0004_auto_20170128_1316.py
-
21accounts_app/migrations/0005_auto_20170222_2224.py
-
21accounts_app/migrations/0006_auto_20170416_1029.py
-
21accounts_app/migrations/0007_auto_20170816_1109.py
-
19accounts_app/migrations/0008_auto_20170927_1838.py
-
28accounts_app/models.py
-
1accounts_app/templates/accounts/create_acc.html
-
3accounts_app/templates/accounts/profile_chgroup.html
-
10accounts_app/templates/accounts/set_abon_groups_permission.html
-
26accounts_app/views.py
-
12agent/commands/dhcp.py
-
32chatbot/migrations/0001_initial.py
-
59chatbot/migrations/0002_auto_20171214_1517.py
-
4clientsideapp/views.py
-
5devapp/forms.py
-
4devapp/locale/ru/LC_MESSAGES/django.po
-
62devapp/migrations/0001_initial.py
-
90devapp/migrations/0001_squashed_0007_auto_20170816_1109.py
-
22devapp/migrations/0002_device_user_group.py
-
23devapp/migrations/0003_auto_20170927_1838.py
-
72devapp/migrations/0004_auto_20171103_0006.py
-
20devapp/migrations/0005_device_snmp_item_num.py
-
34devapp/migrations/0006_auto_20180129_1625.py
-
4devapp/models.py
-
2devapp/templates/devapp/add_dev.html
-
2devapp/templates/devapp/custom_dev_page/olt.html
-
2devapp/templates/devapp/custom_dev_page/onu.html
-
4devapp/templates/devapp/custom_dev_page/ports.html
-
2devapp/templates/devapp/dev.html
-
8devapp/templates/devapp/devices.html
-
6devapp/templates/devapp/devices_null_group.html
-
10devapp/templates/devapp/ext.htm
-
6devapp/templates/devapp/fix_dev_group.html
-
19devapp/templates/devapp/group_list.html
-
8devapp/templates/devapp/manage_ports/add_ports.html
-
4devapp/templates/devapp/manage_ports/fix_abon_device.html
-
8devapp/templates/devapp/manage_ports/list.html
-
81devapp/views.py
-
37dialing_app/migrations/0001_initial.py
-
35dialing_app/migrations/0002_auto_20171229_1353.py
-
31dialing_app/migrations/0003_smsout.py
-
10dialing_app/views.py
-
2djing/settings.py
-
1djing/urls.py
-
0group_app/__init__.py
-
4group_app/admin.py
-
5group_app/apps.py
-
8group_app/forms.py
-
69group_app/locale/ru/LC_MESSAGES/django.po
-
30group_app/migrations/0001_initial.py
-
0group_app/migrations/__init__.py
-
23group_app/models.py
-
20group_app/templates/group_app/add_group.html
-
20group_app/templates/group_app/edit_group.html
-
23group_app/templates/group_app/ext.html
-
59group_app/templates/group_app/group_list.html
-
3group_app/tests.py
-
10group_app/urls.py
-
52group_app/views.py
-
66locale/ru/LC_MESSAGES/django.po
-
16mapapp/migrations/0001_initial.py
-
45mapapp/migrations/0002_auto_20171103_0006.py
-
10mapapp/templates/maps/dot.html
-
2mapapp/templates/maps/map_tooltip.html
-
2mapapp/templates/maps/ya_index.html
-
17mapapp/views.py
-
2msg_app/migrations/0001_initial.py
-
4photo_app/migrations/0001_initial.py
-
18statistics/migrations/0001_initial.py
-
34statistics/migrations/0002_statcache.py
@ -1,52 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-09-05 12:48 |
|||
from __future__ import unicode_literals |
|||
|
|||
import django.core.validators |
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('abonapp', '0001_squashed_0022_auto_20170816_1109'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='AdditionalTelephone', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('telephone', models.CharField(max_length=16, validators=[django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], verbose_name='Телефон')), |
|||
('owner_name', models.CharField(max_length=127)), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Дополнительный телефон', |
|||
'verbose_name_plural': 'Дополнительные телефоны', |
|||
'db_table': 'additional_telephones', |
|||
'ordering': ('owner_name',), |
|||
}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abon', |
|||
options={'permissions': (('can_buy_tariff', 'Покупка тарифа абоненту'), ('can_view_passport', 'Может просматривать паспортные данные')), 'verbose_name': 'Абонент', 'verbose_name_plural': 'Абоненты'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abongroup', |
|||
options={'permissions': (('can_add_ballance', 'Пополнение счёта'),), 'verbose_name': 'Группа абонентов', 'verbose_name_plural': 'Группы абонентов'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abonstreet', |
|||
options={'verbose_name': 'Улица', 'verbose_name_plural': 'Улицы'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abontariff', |
|||
options={'permissions': (('can_complete_service', 'Снятие со счёта средств'),), 'verbose_name': 'Услуга абонента', 'verbose_name_plural': 'Услуги абонентов'}, |
|||
), |
|||
migrations.AddField( |
|||
model_name='additionaltelephone', |
|||
name='abon', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='additional_telephones', to='abonapp.Abon'), |
|||
), |
|||
] |
|||
@ -1,43 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-09-27 18:38 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('abonapp', '0002_auto_20170905_1248'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='abon', |
|||
options={'permissions': (('can_buy_tariff', 'Покупка тарифа абоненту'), ('can_view_passport', 'Может просматривать паспортные данные'), ('can_add_ballance', 'Пополнение счёта'), ('can_ping', 'Может пинговать')), 'verbose_name': 'Абонент', 'verbose_name_plural': 'Абоненты'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abongroup', |
|||
options={'permissions': (('can_view_abongroup', 'Может просматривать группу абонентов'),), 'verbose_name': 'Группа абонентов', 'verbose_name_plural': 'Группы абонентов'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abonlog', |
|||
options={'permissions': (('can_view_abonlog', 'Может видеть логи абонента'),)}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='additionaltelephone', |
|||
options={'ordering': ('owner_name',), 'permissions': (('can_view_additionaltelephones', 'Может видеть дополнительные телефоны'),), 'verbose_name': 'Дополнительный телефон', 'verbose_name_plural': 'Дополнительные телефоны'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='invoiceforpayment', |
|||
options={'ordering': ('date_create',), 'permissions': (('can_view_invoiceforpayment', 'Может видеть назначенные платежи'),), 'verbose_name': 'Квитанция (долг)', 'verbose_name_plural': 'Квитанции (долги)'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='passportinfo', |
|||
options={'verbose_name': 'Паспортные данные', 'verbose_name_plural': 'Паспортные данные'}, |
|||
), |
|||
migrations.AlterModelTable( |
|||
name='passportinfo', |
|||
table='passport_info', |
|||
), |
|||
] |
|||
@ -1,130 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11 on 2018-01-22 17:32 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.conf import settings |
|||
import django.core.validators |
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('tariff_app', '0006_auto_20180122_1732'), |
|||
('abonapp', '0003_auto_20170927_1838'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='PeriodicPayForId', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('last_pay', models.DateTimeField(blank=True, null=True, verbose_name='Last pay time')), |
|||
('next_pay', models.DateTimeField(verbose_name='Next time to pay')), |
|||
], |
|||
options={ |
|||
'db_table': 'periodic_pay_for_id', |
|||
}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abon', |
|||
options={'ordering': ['fio'], 'permissions': (('can_buy_tariff', 'Buy service perm'), ('can_view_passport', 'Can view passport'), ('can_add_ballance', 'fill account'), ('can_ping', 'Can ping')), 'verbose_name': 'Abon', 'verbose_name_plural': 'Abons'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abongroup', |
|||
options={'ordering': ['title'], 'permissions': (('can_view_abongroup', 'Can view subscriber group'),), 'verbose_name': 'Abon group', 'verbose_name_plural': 'Abon groups'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abonlog', |
|||
options={'ordering': ['-date'], 'permissions': (('can_view_abonlog', 'Can view subscriber logs'),)}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abonstreet', |
|||
options={'ordering': ['name'], 'verbose_name': 'Street', 'verbose_name_plural': 'Streets'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='abontariff', |
|||
options={'ordering': ['time_start'], 'permissions': (('can_complete_service', 'finish service perm'),), 'verbose_name': 'Abon service', 'verbose_name_plural': 'Abon services'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='additionaltelephone', |
|||
options={'ordering': ('owner_name',), 'permissions': (('can_view_additionaltelephones', 'Can view additional telephones'),), 'verbose_name': 'Additional telephone', 'verbose_name_plural': 'Additional telephones'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='allpaylog', |
|||
options={'ordering': ['-date_action']}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='alltimepaylog', |
|||
options={'ordering': ['-date_add']}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='invoiceforpayment', |
|||
options={'ordering': ('date_create',), 'permissions': (('can_view_invoiceforpayment', 'Can view invoice for payment'),), 'verbose_name': 'Debt', 'verbose_name_plural': 'Debts'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='passportinfo', |
|||
options={'verbose_name': 'Passport Info', 'verbose_name_plural': 'Passport Info'}, |
|||
), |
|||
migrations.AddField( |
|||
model_name='alltimepaylog', |
|||
name='abon', |
|||
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_DEFAULT, to='abonapp.Abon'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='alltimepaylog', |
|||
name='receipt_num', |
|||
field=models.IntegerField(default=0, verbose_name='Receipt number'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='alltimepaylog', |
|||
name='trade_point', |
|||
field=models.CharField(blank=True, default=None, max_length=20, null=True, verbose_name='Trade point'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='abon', |
|||
name='description', |
|||
field=models.TextField(blank=True, null=True, verbose_name='Comment'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='abon', |
|||
name='group', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='abonapp.AbonGroup', verbose_name='User group'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='abon', |
|||
name='house', |
|||
field=models.CharField(blank=True, max_length=12, null=True, verbose_name='House'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='abon', |
|||
name='street', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='abonapp.AbonStreet', verbose_name='Street'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='abonlog', |
|||
name='author', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='additionaltelephone', |
|||
name='telephone', |
|||
field=models.CharField(max_length=16, validators=[django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], verbose_name='Telephone'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='extrafieldsmodel', |
|||
name='field_type', |
|||
field=models.CharField(choices=[('int', 'Digital field'), ('str', 'Text field'), ('dbl', 'Floating field'), ('ipa', 'Ip Address')], default='str', max_length=3), |
|||
), |
|||
migrations.AddField( |
|||
model_name='periodicpayforid', |
|||
name='account', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='abonapp.Abon', verbose_name='Account'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='periodicpayforid', |
|||
name='periodic_pay', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tariff_app.PeriodicPay', verbose_name='Periodic pay'), |
|||
), |
|||
] |
|||
@ -1,20 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11 on 2018-01-23 13:53 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('abonapp', '0004_auto_20180122_1732'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='alltimepaylog', |
|||
name='receipt_num', |
|||
field=models.BigIntegerField(default=0, verbose_name='Receipt number'), |
|||
), |
|||
] |
|||
@ -1,23 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11 on 2018-02-13 14:06 |
|||
from __future__ import unicode_literals |
|||
|
|||
import bitfield.models |
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
dependencies = [ |
|||
('abonapp', '0005_auto_20180123_1353'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='abon', |
|||
name='markers', |
|||
field=bitfield.models.BitField((('icon_donkey', 'Donkey'), ('icon_fire', 'Fire'), ('icon_ok', 'Ok'), |
|||
('icon_king', 'King'), ('icon_tv', 'TV'), ('icon_smile', 'Smile'), |
|||
('icon_dollar', 'Dollar'), ('icon_service', 'Service'), |
|||
('icon_mrk', 'Marker')), default=None), |
|||
), |
|||
] |
|||
@ -1,39 +0,0 @@ |
|||
{% extends 'base.html' %} |
|||
{% load i18n %} |
|||
{% block main %} |
|||
|
|||
<ol class="breadcrumb"> |
|||
<li><span class="glyphicon glyphicon-home"></span></li> |
|||
<li><a href="{% url 'abonapp:group_list' %}">{% trans 'User groups' %}</a></li> |
|||
<li class="active">{% trans 'Add group' %}</li> |
|||
</ol> |
|||
|
|||
{% include 'message_block.html' %} |
|||
|
|||
<div class="panel panel-default"> |
|||
<div class="panel-heading"> |
|||
<h3 class="panel-title">{% trans 'Add group' %}</h3> |
|||
</div> |
|||
<div class="panel-body"> |
|||
<form role="form" action="{% url 'abonapp:add_group' %}" method="post">{% csrf_token %} |
|||
<div class="form-group"> |
|||
<label for="gtitle">{% trans 'Group title' %}</label> |
|||
|
|||
<div class="input-group"> |
|||
<span class="input-group-addon"><span class="glyphicon glyphicon-bookmark"></span></span> |
|||
<input id="gtitle" type="text" name="title" required class="form-control">{{ form.title.errors }} |
|||
</div> |
|||
</div> |
|||
<div class="btn-group"> |
|||
<button type="submit" class="btn btn-sm btn-primary"> |
|||
<span class="glyphicon glyphicon-save"></span> {% trans 'Save' %} |
|||
</button> |
|||
<button type="reset" class="btn btn-sm btn-default"> |
|||
<span class="glyphicon glyphicon-remove-circle"></span> {% trans 'Reset' %} |
|||
</button> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
</div> |
|||
|
|||
{% endblock %} |
|||
@ -1,20 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2016-11-30 15:15 |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('accounts_app', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='userprofile', |
|||
name='email', |
|||
field=models.EmailField(default='ex@host.loc', max_length=254), |
|||
preserve_default=False, |
|||
), |
|||
] |
|||
@ -1,25 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2016-12-06 18:35 |
|||
|
|||
import django.core.validators |
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
dependencies = [ |
|||
('accounts_app', '0002_userprofile_email'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RemoveField( |
|||
model_name='userprofile', |
|||
name='skype', |
|||
), |
|||
migrations.AlterField( |
|||
model_name='userprofile', |
|||
name='telephone', |
|||
field=models.CharField(max_length=16, |
|||
validators=[django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], |
|||
verbose_name='Telephone number'), |
|||
), |
|||
] |
|||
@ -1,18 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-01-28 10:16 |
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('accounts_app', '0003_auto_20161206_2135'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='userprofile', |
|||
name='email', |
|||
field=models.EmailField(default='admin@example.ru', max_length=254), |
|||
), |
|||
] |
|||
@ -1,21 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-02-22 19:24 |
|||
from __future__ import unicode_literals |
|||
|
|||
import django.core.validators |
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('accounts_app', '0004_auto_20170128_1316'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='userprofile', |
|||
name='telephone', |
|||
field=models.CharField(max_length=16, validators=[django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], verbose_name='Номер телефона'), |
|||
), |
|||
] |
|||
@ -1,21 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-04-16 07:29 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('accounts_app', '0005_auto_20170222_2224'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='userprofile', |
|||
name='avatar', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='photo_app.Photo'), |
|||
), |
|||
] |
|||
@ -1,21 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-08-16 11:09 |
|||
from __future__ import unicode_literals |
|||
|
|||
import django.core.validators |
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('accounts_app', '0006_auto_20170416_1029'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='userprofile', |
|||
name='telephone', |
|||
field=models.CharField(max_length=16, validators=[django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], verbose_name='Телефон'), |
|||
), |
|||
] |
|||
@ -1,19 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-09-27 18:38 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('accounts_app', '0007_auto_20170816_1109'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='userprofile', |
|||
options={'permissions': (('can_view_userprofile', 'Может просматривать учётку сотрудника'),), 'verbose_name': 'Учётная запись работника', 'verbose_name_plural': 'Учётные записи работников'}, |
|||
), |
|||
] |
|||
@ -1,59 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-12-14 15:17 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.conf import settings |
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
|||
('chatbot', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='MessageQueue', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('message', models.CharField(max_length=255, verbose_name='Message')), |
|||
('status', models.CharField(choices=[('n', 'New'), ('r', 'Read')], default='n', max_length=1, verbose_name='Status of message')), |
|||
('tag', models.CharField(default='none', max_length=6, verbose_name='App tag')), |
|||
('target_employee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Target employee')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Message queue', |
|||
'verbose_name_plural': 'Message queue', |
|||
'db_table': 'chat_message_queue', |
|||
}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='messagehistory', |
|||
options={'verbose_name': 'Message history', 'verbose_name_plural': 'Message histories'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='telegrambot', |
|||
options={'verbose_name': 'Telegram bot', 'verbose_name_plural': 'Telegram bots'}, |
|||
), |
|||
migrations.AlterField( |
|||
model_name='telegrambot', |
|||
name='chat_id', |
|||
field=models.PositiveIntegerField(default=0, verbose_name='Telegram chat id'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='telegrambot', |
|||
name='user', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Employee'), |
|||
), |
|||
migrations.AlterModelTable( |
|||
name='messagehistory', |
|||
table='chat_message_history', |
|||
), |
|||
migrations.AlterModelTable( |
|||
name='telegrambot', |
|||
table='chat_telegram_bot', |
|||
), |
|||
] |
|||
@ -0,0 +1,62 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11 on 2018-02-26 00:20 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
import djing.fields |
|||
import mydefs |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
initial = True |
|||
|
|||
dependencies = [ |
|||
('group_app', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='Device', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('ip_address', mydefs.MyGenericIPAddressField(max_length=8, protocol='ipv4', verbose_name='Ip address')), |
|||
('mac_addr', djing.fields.MACAddressField(blank=True, integer=True, null=True, unique=True, verbose_name='Mac address')), |
|||
('comment', models.CharField(max_length=256, verbose_name='Comment')), |
|||
('devtype', models.CharField(choices=[('Dl', 'DLink switch'), ('Pn', 'PON OLT'), ('On', 'PON ONU'), ('Ex', 'Eltex switch')], default='Dl', max_length=2, verbose_name='Device type')), |
|||
('man_passw', models.CharField(blank=True, max_length=16, null=True, verbose_name='SNMP password')), |
|||
('snmp_item_num', models.PositiveSmallIntegerField(blank=True, default=0, verbose_name='SNMP Number')), |
|||
('status', models.CharField(choices=[('und', 'Undefined'), ('up', 'Up'), ('unr', 'Unreachable'), ('dwn', 'Down')], default='und', max_length=3, verbose_name='Status')), |
|||
('is_noticeable', models.BooleanField(default=False, verbose_name='Send notify when monitoring state changed')), |
|||
('group', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='group_app.Group', verbose_name='Device group')), |
|||
('parent_dev', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='devapp.Device', verbose_name='Parent device')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Device', |
|||
'verbose_name_plural': 'Devices', |
|||
'db_table': 'dev', |
|||
'ordering': ['comment'], |
|||
'permissions': (('can_view_device', 'Can view device'),), |
|||
}, |
|||
), |
|||
migrations.CreateModel( |
|||
name='Port', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('num', models.PositiveSmallIntegerField(default=0, verbose_name='Number')), |
|||
('descr', models.CharField(blank=True, max_length=60, null=True, verbose_name='Description')), |
|||
('device', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='devapp.Device', verbose_name='Device')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Port', |
|||
'verbose_name_plural': 'Ports', |
|||
'db_table': 'dev_port', |
|||
'permissions': (('can_toggle_ports', 'Can toggle ports'),), |
|||
}, |
|||
), |
|||
migrations.AlterUniqueTogether( |
|||
name='port', |
|||
unique_together=set([('device', 'num')]), |
|||
), |
|||
] |
|||
@ -1,90 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-09-04 16:14 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
import djing.fields |
|||
import mydefs |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
initial = True |
|||
|
|||
dependencies = [ |
|||
('mapapp', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='Device', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('ip_address', mydefs.MyGenericIPAddressField(max_length=8, protocol='ipv4')), |
|||
('comment', models.CharField(max_length=256)), |
|||
('devtype', models.CharField(choices=[('Dl', "Свич D'Link")], default='Dl', max_length=2)), |
|||
('man_passw', models.CharField(blank=True, max_length=16, null=True)), |
|||
], |
|||
), |
|||
migrations.CreateModel( |
|||
name='Port', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('num', models.PositiveSmallIntegerField(default=0)), |
|||
('speed', models.CharField(choices=[('h', '100Mbps'), ('k', '1Gbps'), ('d', '10Gbps')], default='h', max_length=1)), |
|||
('device', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='devapp.Device')), |
|||
], |
|||
), |
|||
migrations.AlterUniqueTogether( |
|||
name='port', |
|||
unique_together=set([('device', 'num')]), |
|||
), |
|||
migrations.AlterModelTable( |
|||
name='device', |
|||
table='dev', |
|||
), |
|||
migrations.AlterModelTable( |
|||
name='port', |
|||
table='dev_port', |
|||
), |
|||
migrations.AddField( |
|||
model_name='device', |
|||
name='map_dot', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='mapapp.Dot'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='devtype', |
|||
field=models.CharField(choices=[('Dl', 'DLink switch'), ('Pn', 'PON OLT')], default='Dl', max_length=2), |
|||
), |
|||
migrations.RemoveField( |
|||
model_name='port', |
|||
name='speed', |
|||
), |
|||
migrations.AddField( |
|||
model_name='device', |
|||
name='mac_addr', |
|||
field=djing.fields.MACAddressField(blank=True, integer=True, null=True, unique=True), |
|||
), |
|||
migrations.AddField( |
|||
model_name='device', |
|||
name='parent_dev', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='devapp.Device'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='port', |
|||
name='descr', |
|||
field=models.CharField(blank=True, max_length=60, null=True), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='devtype', |
|||
field=models.CharField(choices=[('Dl', 'DLink switch'), ('Pn', 'PON OLT'), ('On', 'PON ONU')], default='Dl', max_length=2), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='devtype', |
|||
field=models.CharField(choices=[('Dl', 'DLink switch'), ('Pn', 'PON OLT'), ('On', 'PON ONU'), ('Ex', 'Eltex switch')], default='Dl', max_length=2), |
|||
), |
|||
] |
|||
@ -1,22 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-09-04 16:16 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('abonapp', '0001_squashed_0022_auto_20170816_1109'), |
|||
('devapp', '0001_squashed_0007_auto_20170816_1109'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='device', |
|||
name='user_group', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='abonapp.AbonGroup'), |
|||
), |
|||
] |
|||
@ -1,23 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-09-27 18:38 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('devapp', '0002_device_user_group'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='device', |
|||
options={'permissions': (('can_view_device', 'Can view device'),), 'verbose_name': 'Device', 'verbose_name_plural': 'Devices'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='port', |
|||
options={'permissions': (('can_toggle_ports', 'Can toggle ports'),), 'verbose_name': 'Port', 'verbose_name_plural': 'Ports'}, |
|||
), |
|||
] |
|||
@ -1,72 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-11-03 00:06 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
import djing.fields |
|||
import mydefs |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('devapp', '0003_auto_20170927_1838'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RemoveField( |
|||
model_name='device', |
|||
name='map_dot', |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='comment', |
|||
field=models.CharField(max_length=256, verbose_name='Comment'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='devtype', |
|||
field=models.CharField(choices=[('Dl', 'DLink switch'), ('Pn', 'PON OLT'), ('On', 'PON ONU'), ('Ex', 'Eltex switch')], default='Dl', max_length=2, verbose_name='Device type'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='ip_address', |
|||
field=mydefs.MyGenericIPAddressField(max_length=8, protocol='ipv4', verbose_name='Ip address'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='mac_addr', |
|||
field=djing.fields.MACAddressField(blank=True, integer=True, null=True, unique=True, verbose_name='Mac address'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='man_passw', |
|||
field=models.CharField(blank=True, max_length=16, null=True, verbose_name='SNMP password'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='parent_dev', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='devapp.Device', verbose_name='Parent device'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='user_group', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='abonapp.AbonGroup', verbose_name='User group'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='port', |
|||
name='descr', |
|||
field=models.CharField(blank=True, max_length=60, null=True, verbose_name='Description'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='port', |
|||
name='device', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='devapp.Device', verbose_name='Device'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='port', |
|||
name='num', |
|||
field=models.PositiveSmallIntegerField(default=0, verbose_name='Number'), |
|||
), |
|||
] |
|||
@ -1,20 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-11-07 16:19 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('devapp', '0004_auto_20171103_0006'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='device', |
|||
name='snmp_item_num', |
|||
field=models.PositiveSmallIntegerField(default=0), |
|||
), |
|||
] |
|||
@ -1,34 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11 on 2018-01-29 16:25 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('devapp', '0005_device_snmp_item_num'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='device', |
|||
options={'ordering': ['comment'], 'permissions': (('can_view_device', 'Can view device'),), 'verbose_name': 'Device', 'verbose_name_plural': 'Devices'}, |
|||
), |
|||
migrations.AddField( |
|||
model_name='device', |
|||
name='is_noticeable', |
|||
field=models.BooleanField(default=False, verbose_name='Send notify when monitoring state changed'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='device', |
|||
name='status', |
|||
field=models.CharField(choices=[('und', 'Undefined'), ('up', 'Up'), ('unr', 'Unreachable'), ('dwn', 'Down')], default='und', max_length=3, verbose_name='Status'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='device', |
|||
name='snmp_item_num', |
|||
field=models.PositiveSmallIntegerField(blank=True, default=0, verbose_name='SNMP Number'), |
|||
), |
|||
] |
|||
@ -1,35 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-12-29 13:53 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('dialing_app', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='SMSModel', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('when', models.DateTimeField(auto_now_add=True)), |
|||
('who', models.CharField(max_length=32)), |
|||
('dev', models.CharField(max_length=20)), |
|||
('text', models.CharField(max_length=255)), |
|||
], |
|||
options={ |
|||
'verbose_name': 'SMS', |
|||
'verbose_name_plural': 'SMS', |
|||
'db_table': 'sms', |
|||
'permissions': (('can_view_sms', 'Can view sms'),), |
|||
}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='asteriskcdr', |
|||
options={'managed': False}, |
|||
), |
|||
] |
|||
@ -1,31 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2018-01-04 18:16 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('dialing_app', '0002_auto_20171229_1353'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='SMSOut', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('when', models.DateTimeField(auto_now_add=True, verbose_name='When')), |
|||
('dst', models.CharField(max_length=16, verbose_name='Telephone')), |
|||
('text', models.CharField(max_length=255, verbose_name='Text')), |
|||
('status', models.CharField(choices=[('nw', 'New'), ('st', 'Sent'), ('fd', 'Failed')], default='nw', max_length=2, verbose_name='Status')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Out SMS', |
|||
'verbose_name_plural': 'Out SMS', |
|||
'db_table': 'out_sms', |
|||
'permissions': (('can_view_sms', 'Can view sms'), ('can_send_sms', 'Can send sms')), |
|||
}, |
|||
), |
|||
] |
|||
@ -0,0 +1,4 @@ |
|||
from django.contrib import admin |
|||
from . import models |
|||
|
|||
admin.site.register(models.Group) |
|||
@ -0,0 +1,5 @@ |
|||
from django.apps import AppConfig |
|||
|
|||
|
|||
class GroupAppConfig(AppConfig): |
|||
name = 'group_app' |
|||
@ -0,0 +1,8 @@ |
|||
from django import forms |
|||
from . import models |
|||
|
|||
|
|||
class GroupForm(forms.ModelForm): |
|||
class Meta: |
|||
model = models.Group |
|||
fields = ['title'] |
|||
@ -0,0 +1,69 @@ |
|||
# SOME DESCRIPTIVE TITLE. |
|||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
|||
# This file is distributed under the same license as the PACKAGE package. |
|||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
|||
# |
|||
#, fuzzy |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: PACKAGE VERSION\n" |
|||
"POT-Creation-Date: 2018-02-26 01:47+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" |
|||
|
|||
#: models.py:7 |
|||
msgid "Title" |
|||
msgstr "Название" |
|||
|
|||
#: models.py:16 |
|||
msgid "Can view group" |
|||
msgstr "Может видеть группы" |
|||
|
|||
#: models.py:18 |
|||
msgid "Group" |
|||
msgstr "Группа" |
|||
|
|||
#: models.py:19 templates/group_app/ext.html:7 templates/group_app/ext.html:8 |
|||
#: templates/group_app/ext.html:14 templates/group_app/group_list.html:7 |
|||
#: templates/group_app/group_list.html:10 |
|||
msgid "Groups" |
|||
msgstr "Группы" |
|||
|
|||
#: templates/group_app/add_group.html:9 templates/group_app/group_list.html:49 |
|||
msgid "Add group" |
|||
msgstr "Добавить группу" |
|||
|
|||
#: templates/group_app/add_group.html:16 |
|||
msgid "Add" |
|||
msgstr "Добавить" |
|||
|
|||
#: templates/group_app/edit_group.html:4 templates/group_app/edit_group.html:9 |
|||
msgid "Edit group" |
|||
msgstr "Изменить группу" |
|||
|
|||
#: templates/group_app/edit_group.html:16 |
|||
msgid "Save" |
|||
msgstr "Сохранить" |
|||
|
|||
#: templates/group_app/group_list.html:41 |
|||
msgid "Groups was not found" |
|||
msgstr "Не найдено ни одной группы" |
|||
|
|||
#: views.py:31 |
|||
msgid "Group changes has been saved" |
|||
msgstr "Изменения сохранены" |
|||
|
|||
#: views.py:35 views.py:51 |
|||
msgid "Please fix form errors" |
|||
msgstr "Исправьте ошибки формы" |
|||
|
|||
#: views.py:47 |
|||
msgid "New group are created" |
|||
msgstr "Новая группа успешно создана" |
|||
@ -0,0 +1,30 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.11 on 2018-02-26 00:20 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
initial = True |
|||
|
|||
dependencies = [ |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='Group', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('title', models.CharField(max_length=127, unique=True, verbose_name='Title')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Group', |
|||
'verbose_name_plural': 'Groups', |
|||
'db_table': 'groups', |
|||
'ordering': ['title'], |
|||
'permissions': (('can_view_group', 'Can view group'),), |
|||
}, |
|||
), |
|||
] |
|||
@ -0,0 +1,23 @@ |
|||
from django.utils.translation import gettext_lazy as _ |
|||
from django.shortcuts import resolve_url |
|||
from django.db import models |
|||
|
|||
|
|||
class Group(models.Model): |
|||
title = models.CharField(_('Title'), max_length=127, unique=True) |
|||
|
|||
def get_absolute_url(self): |
|||
url = resolve_url('group_app:edit', self.pk) |
|||
return url |
|||
|
|||
class Meta: |
|||
db_table = 'groups' |
|||
permissions = ( |
|||
('can_view_group', _('Can view group')), |
|||
) |
|||
verbose_name = _('Group') |
|||
verbose_name_plural = _('Groups') |
|||
ordering = ['title'] |
|||
|
|||
def __str__(self): |
|||
return self.title |
|||
@ -0,0 +1,20 @@ |
|||
{% extends request.is_ajax|yesno:'nullcont.htm,group_app/ext.html' %} |
|||
{% load i18n %} |
|||
{% load bootstrap3 %} |
|||
{% block active_text %}{% trans 'Add group' %}{% endblock %} |
|||
{% block content %} |
|||
<form action="{% url 'group_app:add' %}" method="post">{% csrf_token %} |
|||
<div class="modal-header success"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> |
|||
<h4 class="modal-title"><span class="glyphicon glyphicon-info-sign"></span>{% trans 'Add group' %}</h4> |
|||
</div> |
|||
<div class="modal-body"> |
|||
{% bootstrap_form form %} |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="submit" class="btn btn-success"> |
|||
<span class="glyphicon glyphicon-plus"></span> {% trans 'Add' %} |
|||
</button> |
|||
</div> |
|||
</form> |
|||
{% endblock %} |
|||
@ -0,0 +1,20 @@ |
|||
{% extends request.is_ajax|yesno:'nullcont.htm,group_app/ext.html' %} |
|||
{% load i18n %} |
|||
{% load bootstrap3 %} |
|||
{% block active_text %}{% trans 'Edit group' %}{% endblock %} |
|||
{% block content %} |
|||
<form action="{% url 'group_app:edit' object.pk %}" method="post">{% csrf_token %} |
|||
<div class="modal-header primary"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> |
|||
<h4 class="modal-title"><span class="glyphicon glyphicon-info-sign"></span>{% trans 'Edit group' %}</h4> |
|||
</div> |
|||
<div class="modal-body"> |
|||
{% bootstrap_form form %} |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="submit" class="btn btn-primary"> |
|||
<span class="glyphicon glyphicon-save"></span> {% trans 'Save' %} |
|||
</button> |
|||
</div> |
|||
</form> |
|||
{% endblock %} |
|||
@ -0,0 +1,23 @@ |
|||
{% extends request.is_ajax|yesno:'bajax.html,base.html' %} |
|||
{% load i18n %} |
|||
{% block main %} |
|||
|
|||
<ol class="breadcrumb"> |
|||
<li><span class="glyphicon glyphicon-home"></span></li> |
|||
<li><a href="{% url 'group_app:group_list' %}">{% trans 'Groups' %}</a></li> |
|||
<li class="active">{% block active_text %}{% trans 'Groups' %}{% endblock %}</li> |
|||
</ol> |
|||
|
|||
{% include 'message_block.html' %} |
|||
|
|||
<div class="page-header"> |
|||
<h2>{% trans 'Groups' %}</h2> |
|||
</div> |
|||
|
|||
<div class="panel panel-default"> |
|||
<div class="panel-body"> |
|||
{% block content %}{% endblock %} |
|||
</div> |
|||
</div> |
|||
|
|||
{% endblock %} |
|||
@ -0,0 +1,59 @@ |
|||
{% extends 'base.html' %} |
|||
{% load i18n %} |
|||
{% block main %} |
|||
|
|||
<ol class="breadcrumb"> |
|||
<li><span class="glyphicon glyphicon-home"></span></li> |
|||
<li class="active">{% trans 'Groups' %}</li> |
|||
</ol> |
|||
|
|||
<h3>{% trans 'Groups' %}</h3> |
|||
|
|||
{% include 'message_block.html' %} |
|||
|
|||
<div class="table-responsive"> |
|||
<table class="table table-striped table-bordered"> |
|||
<thead> |
|||
<tr> |
|||
<th width="50">#</th> |
|||
<th> |
|||
<a href="{% url 'group_app:group_list' %}?order_by=title&dir={{ dir|default:'down' }}"> |
|||
{% trans 'Title' %} |
|||
</a> |
|||
{% if order_by == 'title' %}<span class="glyphicon glyphicon-filter"></span>{% endif %} |
|||
</th> |
|||
<th width="100">#</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for gr in groups %} |
|||
<tr> |
|||
<td>{{ gr.pk }}</td> |
|||
<td><a href="{% url 'group_app:edit' gr.pk %}" class="btn-modal">{{ gr.title }}</a></td> |
|||
<td class="btn-group"> |
|||
<a href="{% url 'group_app:edit' gr.pk %}" class="btn btn-sm btn-default btn-modal"> |
|||
<span class="glyphicon glyphicon-cog"></span> |
|||
</a> |
|||
</td> |
|||
</tr> |
|||
{% empty %} |
|||
<tr> |
|||
<td colspan="3"><a href="#">{% trans 'Groups was not found' %}</a></td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
<tfoot> |
|||
<tr> |
|||
<td colspan="3" class="btn-group btn-group-sm"> |
|||
<a href="{% url 'group_app:add' %}" class="btn btn-success btn-modal"> |
|||
<span class="glyphicon glyphicon-plus"></span> <span class="hidden-xs">{% trans 'Add group' %}</span> |
|||
</a> |
|||
</td> |
|||
</tr> |
|||
</tfoot> |
|||
</table> |
|||
</div> |
|||
|
|||
{% include 'pagination.html' %} |
|||
|
|||
{% endblock %} |
|||
@ -0,0 +1,3 @@ |
|||
from django.test import TestCase |
|||
|
|||
# Create your tests here. |
|||
@ -0,0 +1,10 @@ |
|||
from django.conf.urls import url |
|||
from . import views |
|||
|
|||
app_name = 'group_app' |
|||
|
|||
urlpatterns = [ |
|||
url(r'^$', views.GroupListView.as_view(), name='group_list'), |
|||
url(r'^add/$', views.AddGroupView.as_view(), name='add'), |
|||
url(r'^(?P<group_id>\d{1,6})/edit/$', views.EditGroupView.as_view(), name='edit') |
|||
] |
|||
@ -0,0 +1,52 @@ |
|||
from django.views.generic import ListView, UpdateView, CreateView |
|||
from django.contrib.auth.decorators import login_required |
|||
from django.utils.translation import gettext_lazy as _ |
|||
from django.utils.decorators import method_decorator |
|||
from django.urls import reverse_lazy |
|||
from django.contrib import messages |
|||
from django.conf import settings |
|||
from . import models |
|||
from . import forms |
|||
|
|||
|
|||
@method_decorator(login_required, name='dispatch') |
|||
class GroupListView(ListView): |
|||
http_method_names = ['get'] |
|||
paginate_by = getattr(settings, 'PAGINATION_ITEMS_PER_PAGE', 10) |
|||
template_name = 'group_app/group_list.html' |
|||
model = models.Group |
|||
context_object_name = 'groups' |
|||
|
|||
|
|||
@method_decorator(login_required, name='dispatch') |
|||
class EditGroupView(UpdateView): |
|||
http_method_names = ['get', 'post'] |
|||
template_name = 'group_app/edit_group.html' |
|||
form_class = forms.GroupForm |
|||
model = models.Group |
|||
pk_url_kwarg = 'group_id' |
|||
success_url = reverse_lazy('group_app:group_list') |
|||
|
|||
def form_valid(self, form): |
|||
messages.success(self.request, _('Group changes has been saved')) |
|||
return super(EditGroupView, self).form_valid(form) |
|||
|
|||
def form_invalid(self, form): |
|||
messages.success(self.request, _('Please fix form errors')) |
|||
return super(EditGroupView, self).form_invalid(form) |
|||
|
|||
|
|||
@method_decorator(login_required, name='dispatch') |
|||
class AddGroupView(CreateView): |
|||
http_method_names = ['get', 'post'] |
|||
template_name = 'group_app/add_group.html' |
|||
form_class = forms.GroupForm |
|||
success_url = reverse_lazy('group_app:group_list') |
|||
|
|||
def form_valid(self, form): |
|||
messages.success(self.request, _('New group are created')) |
|||
return super(AddGroupView, self).form_valid(form) |
|||
|
|||
def form_invalid(self, form): |
|||
messages.success(self.request, _('Please fix form errors')) |
|||
return super(AddGroupView, self).form_invalid(form) |
|||
@ -1,45 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-11-03 00:06 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('devapp', '0004_auto_20171103_0006'), |
|||
('mapapp', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='dot', |
|||
options={'permissions': (('can_view', 'Can view'),), 'verbose_name': 'Map dot', 'verbose_name_plural': 'Map dots'}, |
|||
), |
|||
migrations.AddField( |
|||
model_name='dot', |
|||
name='attachment', |
|||
field=models.FileField(blank=True, null=True, upload_to='map_attachments/%Y_%m_%d', verbose_name='Attachment'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='dot', |
|||
name='devices', |
|||
field=models.ManyToManyField(db_table='dot_device', to='devapp.Device', verbose_name='Devices'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='dot', |
|||
name='latitude', |
|||
field=models.FloatField(verbose_name='Latitude'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='dot', |
|||
name='longitude', |
|||
field=models.FloatField(verbose_name='Longitude'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='dot', |
|||
name='title', |
|||
field=models.CharField(max_length=127, verbose_name='Map point title'), |
|||
), |
|||
] |
|||
@ -1,34 +0,0 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9 on 2017-05-31 17:37 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import mydefs |
|||
import statistics.fields |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
initial = True |
|||
|
|||
dependencies = [ |
|||
('statistics', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='StatCache', |
|||
fields=[ |
|||
('last_time', statistics.fields.UnixDateTimeField()), |
|||
('ip', mydefs.MyGenericIPAddressField(max_length=8, primary_key=True, protocol='ipv4', serialize=False)), |
|||
('octets', models.PositiveIntegerField(default=0)), |
|||
('packets', models.PositiveIntegerField(default=0)), |
|||
], |
|||
options={ |
|||
'db_table': 'flowcache', |
|||
}, |
|||
), |
|||
migrations.DeleteModel( |
|||
name='StatElem', |
|||
), |
|||
] |
|||
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue