Browse Source

Auto reformat code

devel
bashmak 8 years ago
parent
commit
7c29eca01e
  1. 1
      abonapp/admin.py
  2. 1
      abonapp/forms.py
  3. 74
      abonapp/migrations/0001_initial.py
  4. 5
      abonapp/models.py
  5. 2
      abonapp/pay_systems.py
  6. 1
      accounts_app/admin.py
  7. 1
      accounts_app/forms.py
  8. 27
      accounts_app/migrations/0001_initial.py
  9. 2
      accounts_app/models.py
  10. 2
      accounts_app/templatetags/acc_tags.py
  11. 1
      accounts_app/urls.py
  12. 1
      agent/__init__.py
  13. 1
      agent/monitoring_agent.py
  14. 1
      agent/netflow/netflow_handler.py
  15. 3
      agent/structs.py
  16. 11
      chatbot/migrations/0001_initial.py
  17. 1
      chatbot/models.py
  18. 6
      chatbot/telebot.py
  19. 2
      clientsideapp/models.py
  20. 2
      clientsideapp/urls.py
  21. 1
      devapp/admin.py
  22. 2
      devapp/apps.py
  23. 9
      devapp/base_intr.py
  24. 27
      devapp/migrations/0001_initial.py
  25. 1
      devapp/tests.py
  26. 1
      dhcp_lever.py
  27. 3
      dialing.py
  28. 9
      dialing_app/migrations/0001_initial.py
  29. 2
      dialing_app/urls.py
  30. 1
      djing/__init__.py
  31. 1
      djing/fields.py
  32. 1
      djing/formfields.py
  33. 4
      djing/global_base_views.py
  34. 6
      djing/settings.py
  35. 1
      group_app/migrations/0001_initial.py
  36. 4
      mapapp/migrations/0001_initial.py
  37. 2
      mapapp/templates/maps/dot.html
  38. 2
      mapapp/urls.py
  39. 1
      messaging/sms/base.py
  40. 1
      messaging/sms/deliver.py
  41. 1
      messaging/sms/gsm0338.py
  42. 1
      messaging/sms/pdu.py
  43. 3
      messaging/sms/udh.py
  44. 8
      migrate_to_0.2.py
  45. 1
      msg_app/admin.py
  46. 9
      msg_app/forms.py
  47. 33
      msg_app/migrations/0001_initial.py
  48. 4
      msg_app/models.py
  49. 2
      msg_app/urls.py
  50. 1
      photo_app/admin.py
  51. 1
      photo_app/migrations/0001_initial.py
  52. 1
      photo_app/urls.py
  53. 4
      queue_mngr.py
  54. 2
      searchapp/apps.py
  55. 2
      searchapp/models.py
  56. 1
      searchapp/urls.py
  57. 1
      statistics/fields.py
  58. 4
      statistics/migrations/0001_initial.py
  59. 4
      statistics/models.py
  60. 2
      statistics/urls.py
  61. 2
      systemd_units/webdav_backup.py
  62. 1
      tariff_app/admin.py
  63. 9
      tariff_app/migrations/0001_initial.py
  64. 1
      tariff_app/models.py
  65. 1
      taskapp/admin.py
  66. 1
      taskapp/forms.py
  67. 44
      taskapp/migrations/0001_initial.py
  68. 7
      taskapp/models.py
  69. 5
      taskapp/urls.py

1
abonapp/admin.py

@ -2,7 +2,6 @@ from django.contrib import admin
from . import models
admin.site.register(models.Abon)
admin.site.register(models.InvoiceForPayment)
admin.site.register(models.AbonLog)

1
abonapp/forms.py

@ -8,7 +8,6 @@ from string import digits, ascii_lowercase
from . import models
from django.conf import settings
TELEPHONE_REGEXP = getattr(settings, 'TELEPHONE_REGEXP', r'^\+[7,8,9,3]\d{10,11}$')

74
abonapp/migrations/0001_initial.py

@ -12,7 +12,6 @@ import re
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -27,20 +26,26 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='Abon',
fields=[
('baseaccount_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='accounts_app.BaseAccount')),
('baseaccount_ptr',
models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True,
primary_key=True, serialize=False, to='accounts_app.BaseAccount')),
('ballance', models.FloatField(default=0.0)),
('ip_address', mydefs.MyGenericIPAddressField(blank=True, max_length=8, null=True, protocol='ipv4')),
('description', models.TextField(blank=True, null=True, verbose_name='Comment')),
('house', models.CharField(blank=True, max_length=12, null=True, verbose_name='House')),
('is_dynamic_ip', models.BooleanField(default=False)),
('markers', 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=0)),
('markers', 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=0)),
],
options={
'verbose_name': 'Abon',
'verbose_name_plural': 'Abons',
'db_table': 'abonent',
'ordering': ['fio'],
'permissions': (('can_buy_tariff', 'Buy service perm'), ('can_view_passport', 'Can view passport'), ('can_add_ballance', 'fill account'), ('can_ping', 'Can ping')),
'permissions': (('can_buy_tariff', 'Buy service perm'), ('can_view_passport', 'Can view passport'),
('can_add_ballance', 'fill account'), ('can_ping', 'Can ping')),
},
bases=('accounts_app.baseaccount',),
),
@ -78,7 +83,8 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('time_start', models.DateTimeField(blank=True, default=None, null=True)),
('deadline', models.DateTimeField(blank=True, default=None, null=True)),
('tariff', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='linkto_tariff', to='tariff_app.Tariff')),
('tariff', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='linkto_tariff',
to='tariff_app.Tariff')),
],
options={
'verbose_name': 'Abon service',
@ -92,7 +98,8 @@ class Migration(migrations.Migration):
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='Telephone')),
('telephone', models.CharField(max_length=16, validators=[
django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], verbose_name='Telephone')),
('owner_name', models.CharField(max_length=127)),
],
options={
@ -122,7 +129,8 @@ class Migration(migrations.Migration):
('pay_id', models.CharField(max_length=36, primary_key=True, serialize=False, unique=True)),
('date_add', models.DateTimeField(auto_now_add=True)),
('summ', models.FloatField(default=0.0)),
('trade_point', models.CharField(blank=True, default=None, max_length=20, null=True, verbose_name='Trade point')),
('trade_point',
models.CharField(blank=True, default=None, max_length=20, null=True, verbose_name='Trade point')),
('receipt_num', models.BigIntegerField(default=0, verbose_name='Receipt number')),
],
options={
@ -135,7 +143,9 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(default='no title', max_length=16)),
('field_type', models.CharField(choices=[('int', 'Digital field'), ('str', 'Text field'), ('dbl', 'Floating field'), ('ipa', 'Ip Address')], default='str', max_length=3)),
('field_type', models.CharField(
choices=[('int', 'Digital field'), ('str', 'Text field'), ('dbl', 'Floating field'),
('ipa', 'Ip Address')], default='str', max_length=3)),
('data', models.CharField(blank=True, max_length=64, null=True)),
],
options={
@ -164,8 +174,12 @@ class Migration(migrations.Migration):
name='PassportInfo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('series', models.CharField(max_length=4, validators=[django.core.validators.RegexValidator(re.compile('^-?\\d+\\Z', 32), code='invalid', message='Enter a valid integer.')])),
('number', models.CharField(max_length=6, validators=[django.core.validators.RegexValidator(re.compile('^-?\\d+\\Z', 32), code='invalid', message='Enter a valid integer.')])),
('series', models.CharField(max_length=4, validators=[
django.core.validators.RegexValidator(re.compile('^-?\\d+\\Z', 32), code='invalid',
message='Enter a valid integer.')])),
('number', models.CharField(max_length=6, validators=[
django.core.validators.RegexValidator(re.compile('^-?\\d+\\Z', 32), code='invalid',
message='Enter a valid integer.')])),
('distributor', models.CharField(max_length=64)),
('date_of_acceptance', models.DateField()),
],
@ -189,7 +203,9 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='AbonRawPassword',
fields=[
('account', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='abonapp.Abon')),
('account',
models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False,
to='abonapp.Abon')),
('passw_text', models.CharField(max_length=64)),
],
options={
@ -199,17 +215,20 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='periodicpayforid',
name='account',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='abonapp.Abon', verbose_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'),
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tariff_app.PeriodicPay',
verbose_name='Periodic pay'),
),
migrations.AddField(
model_name='passportinfo',
name='abon',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='abonapp.Abon'),
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='abonapp.Abon'),
),
migrations.AddField(
model_name='invoiceforpayment',
@ -219,17 +238,20 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='invoiceforpayment',
name='author',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL),
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
related_name='+', to=settings.AUTH_USER_MODEL),
),
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'),
field=models.ForeignKey(blank=True, default=None, null=True,
on_delete=django.db.models.deletion.SET_DEFAULT, to='abonapp.Abon'),
),
migrations.AddField(
model_name='additionaltelephone',
name='abon',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='additional_telephones', to='abonapp.Abon'),
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='additional_telephones',
to='abonapp.Abon'),
),
migrations.AddField(
model_name='abonlog',
@ -239,22 +261,26 @@ class Migration(migrations.Migration):
migrations.AddField(
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),
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE,
related_name='+', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='abon',
name='current_tariff',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='abonapp.AbonTariff'),
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='abonapp.AbonTariff'),
),
migrations.AddField(
model_name='abon',
name='dev_port',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='devapp.Port'),
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='devapp.Port'),
),
migrations.AddField(
model_name='abon',
name='device',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='devapp.Device'),
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='devapp.Device'),
),
migrations.AddField(
model_name='abon',
@ -264,11 +290,13 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='abon',
name='group',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='group_app.Group', verbose_name='User group'),
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='group_app.Group', verbose_name='User group'),
),
migrations.AddField(
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'),
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='abonapp.AbonStreet', verbose_name='Street'),
),
]

5
abonapp/models.py

@ -19,7 +19,6 @@ from djing import IP_ADDR_REGEX
from tariff_app.models import Tariff, PeriodicPay
from bitfield import BitField
TELEPHONE_REGEXP = getattr(settings, 'TELEPHONE_REGEXP', r'^\+[7,8,9,3]\d{10,11}$')
@ -129,7 +128,6 @@ class ExtraFieldsModel(models.Model):
class AbonManager(MyUserManager):
def get_queryset(self):
return super(MyUserManager, self).get_queryset().filter(is_admin=False)
@ -273,7 +271,8 @@ class Abon(BaseAccount):
def save(self, *args, **kwargs):
# check if ip address already busy
if self.ip_address is not None and Abon.objects.filter(ip_address=self.ip_address).exclude(pk=self.pk).count() > 0:
if self.ip_address is not None and Abon.objects.filter(ip_address=self.ip_address).exclude(
pk=self.pk).count() > 0:
self.is_bad_ip = True
raise LogicError(_('Ip address already exist'))
super(Abon, self).save(*args, **kwargs)

2
abonapp/pay_systems.py

@ -5,13 +5,11 @@ from .models import Abon, AllTimePayLog
from django.db import DatabaseError
from django.conf import settings
SECRET = getattr(settings, 'PAY_SECRET')
SERV_ID = getattr(settings, 'PAY_SERV_ID')
def allpay(request):
def bad_ret(err_id, err_description=None):
current_date = timezone.now()
res = [

1
accounts_app/admin.py

@ -2,5 +2,4 @@ from django.contrib import admin
from .models import UserProfile
admin.site.register(UserProfile)

1
accounts_app/forms.py

@ -4,7 +4,6 @@ from guardian.shortcuts import assign_perm, remove_perm
class MyUserObjectPermissionsForm(UserObjectPermissionsForm):
def save_obj_perms(self):
"""
Saves selected object permissions by creating new ones and removing

27
accounts_app/migrations/0001_initial.py

@ -8,7 +8,6 @@ import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -24,13 +23,16 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
('is_superuser', models.BooleanField(default=False,
help_text='Designates that this user has all permissions without explicitly assigning them.',
verbose_name='superuser status')),
('username', models.CharField(max_length=127, unique=True, verbose_name='profile username')),
('fio', models.CharField(max_length=256, verbose_name='fio')),
('birth_day', models.DateField(auto_now_add=True, verbose_name='birth day')),
('is_active', models.BooleanField(default=True, verbose_name='Is active')),
('is_admin', models.BooleanField(default=False)),
('telephone', models.CharField(max_length=16, validators=[django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], verbose_name='Telephone')),
('telephone', models.CharField(max_length=16, validators=[
django.core.validators.RegexValidator('^\\+[7,8,9,3]\\d{10,11}$')], verbose_name='Telephone')),
],
options={
'db_table': 'base_accounts',
@ -39,10 +41,14 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='UserProfile',
fields=[
('baseaccount_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='accounts_app.BaseAccount')),
('baseaccount_ptr',
models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True,
primary_key=True, serialize=False, to='accounts_app.BaseAccount')),
('email', models.EmailField(default='admin@example.ru', max_length=254)),
('avatar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='photo_app.Photo')),
('responsibility_groups', models.ManyToManyField(blank=True, to='group_app.Group', verbose_name='Responsibility groups')),
('avatar', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
to='photo_app.Photo')),
('responsibility_groups',
models.ManyToManyField(blank=True, to='group_app.Group', verbose_name='Responsibility groups')),
],
options={
'verbose_name': 'Staff account profile',
@ -55,11 +61,16 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='baseaccount',
name='groups',
field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups'),
field=models.ManyToManyField(blank=True,
help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.',
related_name='user_set', related_query_name='user', to='auth.Group',
verbose_name='groups'),
),
migrations.AddField(
model_name='baseaccount',
name='user_permissions',
field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'),
field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.',
related_name='user_set', related_query_name='user', to='auth.Permission',
verbose_name='user permissions'),
),
]

2
accounts_app/models.py

@ -8,7 +8,6 @@ from django.conf import settings
from photo_app.models import Photo
from group_app.models import Group
DEFAULT_PICTURE = getattr(settings, 'DEFAULT_PICTURE', '/static/img/user_ava.gif')
TELEPHONE_REGEXP = getattr(settings, 'TELEPHONE_REGEXP', r'^\+[7,8,9,3]\d{10,11}$')
@ -90,7 +89,6 @@ class BaseAccount(AbstractBaseUser, PermissionsMixin):
class UserProfileManager(MyUserManager):
def get_profiles_by_group(self, group_id):
return self.filter(responsibility_groups__id__in=[group_id], is_admin=True, is_active=True)

2
accounts_app/templatetags/acc_tags.py

@ -2,8 +2,8 @@ from django import template
from django.db.models import Model
from django.apps import apps
from six import string_types, class_types
register = template.Library()
register = template.Library()
@register.simple_tag

1
accounts_app/urls.py

@ -2,7 +2,6 @@ from django.conf.urls import url
from . import views
app_name = 'account_app'
urlpatterns = [

1
agent/__init__.py

@ -3,7 +3,6 @@ from .mod_mikrotik import MikrotikTransmitter
from .core import NasFailedResult, NasNetworkError
from .structs import TariffStruct, AbonStruct
# Transmitter мы будем импортировать в других местах
# Тут надо указать какой у нас будет NAS
# т.е. какой класс будет управлять доступом в интернет

1
agent/monitoring_agent.py

@ -8,7 +8,6 @@ API_AUTH_SECRET = 'your api key'
SERVER_DOMAIN = 'http://localhost:8000'
IP_REGEXP = r'^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \
r'(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \
r'(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \

1
agent/netflow/netflow_handler.py

@ -4,7 +4,6 @@ import sys
import os
from importlib import import_module
if __name__ == '__main__':
if len(sys.argv) < 2:
print("File name of netflow required")

3
agent/structs.py

@ -19,7 +19,6 @@ class BaseStruct(object, metaclass=ABCMeta):
class IpStruct(BaseStruct):
def __init__(self, ip):
if type(ip) is int:
self.__ip = ip
@ -55,7 +54,6 @@ class IpStruct(BaseStruct):
# Как обслуживается абонент
class TariffStruct(BaseStruct):
def __init__(self, tariff_id=0, speedIn=None, speedOut=None):
self.tid = int(tariff_id)
self.speedIn = float(speedIn if speedIn is not None else 0.001)
@ -92,7 +90,6 @@ class TariffStruct(BaseStruct):
# Абонент из базы
class AbonStruct(BaseStruct):
def __init__(self, uid=0, ip=None, tariff=None, is_active=True):
self.uid = int(uid or 0)
self.ip = IpStruct(ip)

11
chatbot/migrations/0001_initial.py

@ -8,7 +8,6 @@ import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -35,9 +34,12 @@ class Migration(migrations.Migration):
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')),
('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')),
('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',
@ -50,7 +52,8 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('chat_id', models.PositiveIntegerField(default=0, verbose_name='Telegram chat id')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Employee')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL,
verbose_name='Employee')),
],
options={
'verbose_name': 'Telegram bot',

1
chatbot/models.py

@ -37,7 +37,6 @@ class MessageHistory(models.Model):
class MessageQueueManager(models.Manager):
def pop(self, user, tag='none'):
msgs = self.filter(target_employee=user, status='n', tag=tag)[:1].only('message').values('id', 'message')
if len(msgs) > 0:

6
chatbot/telebot.py

@ -102,10 +102,12 @@ class DjingTelebot(helper.ChatHandler):
chat_id=self._chat_id
)
except UserProfile.DoesNotExist:
self._question(_("You are not found in the database, check that it correctly pointed out its LOGIN. Try again"),
self._question(
_("You are not found in the database, check that it correctly pointed out its LOGIN. Try again"),
self.question_name)
return
self._sent_reply(_("Yes, it's nice to meet %(username)s, I will notify you about events in billing. Successful work ;)")
self._sent_reply(
_("Yes, it's nice to meet %(username)s, I will notify you about events in billing. Successful work ;)")
% {'username': profile.get_full_name()})
# заканчивается время диалога

2
clientsideapp/models.py

@ -1,3 +1 @@
# Create your models here.

2
clientsideapp/urls.py

@ -2,10 +2,8 @@
from django.conf.urls import url
from . import views
app_name = 'clientsideapp'
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^pays$', views.pays, name='pays'),

1
devapp/admin.py

@ -2,6 +2,5 @@ from django.contrib import admin
from . import models
admin.site.register(models.Device)
admin.site.register(models.Port)

2
devapp/apps.py

@ -1,5 +1,3 @@
from django.apps import AppConfig

9
devapp/base_intr.py

@ -1,10 +1,10 @@
from abc import ABCMeta, abstractmethod
from datetime import timedelta
from django.utils.translation import gettext
from typing import Union, Iterable, AnyStr, Generator
from easysnmp import Session
ListOrError = Union[
Iterable,
Union[Exception, Iterable]
@ -16,7 +16,6 @@ class DeviceImplementationError(Exception):
class DevBase(object, metaclass=ABCMeta):
def __init__(self, dev_instance=None):
self.db_instance = dev_instance
@ -78,10 +77,12 @@ class BasePort(object, metaclass=ABCMeta):
class SNMPBaseWorker(object, metaclass=ABCMeta):
ses = None
def __init__(self, ip, community='public', ver=2):
def __init__(self, ip: str, community='public', ver=2):
if ip is None:
raise DeviceImplementationError(gettext('Ip address is required'))
self.ses = Session(hostname=ip, community=community, version=ver)
def set_int_value(self, oid, value):
def set_int_value(self, oid: str, value):
return self.ses.set(oid, value, 'i')
def get_list(self, oid) -> Generator:

27
devapp/migrations/0001_initial.py

@ -9,7 +9,6 @@ import mydefs
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -21,16 +20,25 @@ class Migration(migrations.Migration):
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')),
(
'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')),
('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')),
('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',
@ -46,7 +54,8 @@ class Migration(migrations.Migration):
('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')),
('device', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='devapp.Device',
verbose_name='Device')),
],
options={
'verbose_name': 'Port',

1
devapp/tests.py

@ -3,7 +3,6 @@ from . import dev_types
class DevTest(TestCase):
def setUp(self):
pass

1
dhcp_lever.py

@ -7,6 +7,7 @@ def die(text):
print(text)
exit(1)
'''
obj = {
'client_ip': ip2int('127.0.0.1'),

3
dialing.py

@ -2,6 +2,7 @@
import os, signal
from pid.decorator import pidfile
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings")
django.setup()
from messaging.sms import SmsSubmit, SmsDeliver
@ -11,14 +12,12 @@ from time import sleep
from dialing_app.models import SMSModel, SMSOut
from django.conf import settings
ASTERISK_MANAGER_AUTH = getattr(settings, 'ASTERISK_MANAGER_AUTH', {
'username': 'admin',
'password': 'admin',
'host': '127.0.0.1'
})
outbox_messages = False

9
dialing_app/migrations/0001_initial.py

@ -6,7 +6,6 @@ from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -30,7 +29,9 @@ class Migration(migrations.Migration):
('start', models.DateTimeField(blank=True, default=None, null=True)),
('answer', models.DateTimeField(blank=True, default=None, null=True)),
('end', models.DateTimeField(blank=True, default=None, null=True)),
('disposition', models.CharField(choices=[('NO ANSWER', 'No answer'), ('FAILED', 'Failed'), ('BUSY', 'Busy'), ('ANSWERED', 'Answered'), ('UNKNOWN', 'Unknown')], default='', max_length=45)),
('disposition', models.CharField(
choices=[('NO ANSWER', 'No answer'), ('FAILED', 'Failed'), ('BUSY', 'Busy'),
('ANSWERED', 'Answered'), ('UNKNOWN', 'Unknown')], default='', max_length=45)),
('amaflags', models.IntegerField(default=0)),
('accountcode', models.CharField(default='', max_length=20)),
('userfield', models.CharField(default='', max_length=255)),
@ -66,7 +67,9 @@ class Migration(migrations.Migration):
('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')),
('status',
models.CharField(choices=[('nw', 'New'), ('st', 'Sent'), ('fd', 'Failed')], default='nw', max_length=2,
verbose_name='Status')),
],
options={
'verbose_name': 'Out SMS',

2
dialing_app/urls.py

@ -1,10 +1,8 @@
from django.conf.urls import url
from . import views
app_name = 'dialing_app'
urlpatterns = [
url(r'^$', views.LastCallsListView.as_view(), name='home'),
url(r'^filter$', views.DialsFilterListView.as_view(), name='vfilter'),

1
djing/__init__.py

@ -1,7 +1,6 @@
import importlib
from netaddr import mac_unix, mac_eui48
MAC_ADDR_REGEX = r'^([0-9A-Fa-f]{1,2}[:-]){5}([0-9A-Fa-f]{1,2})$'
IP_ADDR_REGEX = r'^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.' \

1
djing/fields.py

@ -103,6 +103,7 @@ class MACAddressField(models.Field):
try:
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^macaddress\.fields\.MACAddressField"])
except ImportError:
pass

1
djing/formfields.py

@ -7,7 +7,6 @@ from django.utils.translation import gettext_lazy as _
from netaddr import EUI, AddrFormatError
from . import MAC_ADDR_REGEX
mac_address_validator = RegexValidator(
_lazy_re_compile(MAC_ADDR_REGEX),
message=_('Enter a valid integer.'),

4
djing/global_base_views.py

@ -23,7 +23,6 @@ class RedirectWhenError(Exception):
class HashAuthView(View):
@staticmethod
def calc_hash(data):
if type(data) is str:
@ -60,7 +59,6 @@ class HashAuthView(View):
class AllowedSubnetMixin(object):
def dispatch(self, request, *args, **kwargs):
"""
Check if user ip in allowed subnet.
@ -80,6 +78,7 @@ class OrderingMixin(object):
@dir - direction of ordering. down or up.
@order_by - ordering field name
"""
def get_context_data(self, **kwargs):
context = super(OrderingMixin, self).get_context_data(**kwargs)
context['order_by'] = self.request.GET.get('order_by')
@ -104,7 +103,6 @@ class OrderingMixin(object):
class RedirectWhenErrorMixin(object):
def get(self, request, *args, **kwargs):
try:
return super(RedirectWhenErrorMixin, self).get(request, *args, **kwargs)

6
djing/settings.py

@ -1,13 +1,11 @@
# -*- coding: utf-8 -*
import os
try:
from . import local_settings
except ImportError:
raise ImportError("You must create config file local_settings.py from template")
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
from django.urls import reverse_lazy
@ -95,13 +93,11 @@ TEMPLATES = [
WSGI_APPLICATION = 'djing.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
DATABASES = local_settings.DATABASES
# Password validation
# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
@ -145,7 +141,6 @@ FILE_UPLOAD_MAX_MEMORY_SIZE = 4096000
# time to session live, 1 day
SESSION_COOKIE_AGE = 60 * 60 * 24
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.9/howto/static-files/
@ -153,7 +148,6 @@ STATIC_URL = '/static/'
if DEBUG:
STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),)
# Example output: 16 september 2018
DATE_FORMAT = 'd E Y'

1
group_app/migrations/0001_initial.py

@ -6,7 +6,6 @@ from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [

4
mapapp/migrations/0001_initial.py

@ -6,7 +6,6 @@ from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -21,7 +20,8 @@ class Migration(migrations.Migration):
('title', models.CharField(max_length=127, verbose_name='Map point title')),
('latitude', models.FloatField(verbose_name='Latitude')),
('longitude', models.FloatField(verbose_name='Longitude')),
('attachment', models.FileField(blank=True, null=True, upload_to='map_attachments/%Y_%m_%d', verbose_name='Attachment')),
('attachment', models.FileField(blank=True, null=True, upload_to='map_attachments/%Y_%m_%d',
verbose_name='Attachment')),
('devices', models.ManyToManyField(db_table='dot_device', to='devapp.Device', verbose_name='Devices')),
],
options={

2
mapapp/templates/maps/dot.html

@ -73,7 +73,7 @@
<a href="{% url 'devapp:view' 0 dev.pk %}">{{ dev.comment }}</a>
{% endif %}
</td>
<td>{{ dev.ip_address }}</td>
<td>{{ dev.ip_address|default:'-' }}</td>
<td>{{ dev.get_comment_display }}</td>
<td>
{% if dev.group %}

2
mapapp/urls.py

@ -2,10 +2,8 @@ from django.conf.urls import url
from . import views
app_name = 'mapapp'
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^options$', views.OptionsListView.as_view(), name='options'),

1
messaging/sms/base.py

@ -2,7 +2,6 @@
class SmsBase(object):
def __init__(self):
self.udh = None
self.number = None

1
messaging/sms/deliver.py

@ -261,4 +261,3 @@ class SmsDeliver(SmsBase):
'dt': dt,
'status': _status
}

1
messaging/sms/gsm0338.py

@ -275,6 +275,7 @@ def getregentry(encoding):
encode=encode,
decode=decode)
# Codec registration
codecs.register(getregentry)

1
messaging/sms/pdu.py

@ -2,7 +2,6 @@
class Pdu(object):
def __init__(self, pdu, len_smsc, cnt=1, seq=1):
self.pdu = pdu.upper()
self.length = len(pdu) / 2 - len_smsc

3
messaging/sms/udh.py

@ -2,7 +2,6 @@
class PortAddress(object):
def __init__(self, dest_port, orig_port, eight_bits):
self.dest_port = dest_port
self.orig_port = orig_port
@ -14,7 +13,6 @@ class PortAddress(object):
class ConcatReference(object):
def __init__(self, ref, cnt, seq, eight_bits):
self.ref = ref
self.cnt = cnt
@ -27,7 +25,6 @@ class ConcatReference(object):
class UserDataHeader(object):
def __init__(self):
self.concat = None
self.ports = None

8
migrate_to_0.2.py

@ -6,13 +6,11 @@ import shutil
from json import dump
import django
'''
Some permissions is not migrates, all admins is superuser
after migrate.
'''
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings")
from django.db.models import fields as django_fields
@ -29,14 +27,16 @@ def get_fixture_from_unchanget_model(model_name: str, model_class):
def get_fields(obj):
fields = dict()
for field in obj._meta.get_fields():
if isinstance(field, (django_fields.reverse_related.ManyToOneRel, django_fields.reverse_related.ManyToManyRel)):
if isinstance(field,
(django_fields.reverse_related.ManyToOneRel, django_fields.reverse_related.ManyToManyRel)):
continue
field_val = getattr(obj, field.name)
if field_val is None:
continue
if isinstance(field, django_fields.related.ManyToManyField):
fields[field.name] = [f.pk for f in field_val.all()]
elif isinstance(field, (django_fields.related.ForeignKey, django.contrib.contenttypes.fields.GenericForeignKey)):
elif isinstance(field,
(django_fields.related.ForeignKey, django.contrib.contenttypes.fields.GenericForeignKey)):
fields[field.name] = field_val.pk
elif isinstance(field, django_fields.FloatField):
fields[field.name] = float(field_val)

1
msg_app/admin.py

@ -3,4 +3,3 @@ from . import models
admin.site.register(models.Message)
admin.site.register(models.Conversation)

9
msg_app/forms.py

@ -5,15 +5,16 @@ from accounts_app.models import UserProfile
class ConversationForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ConversationForm, self).__init__(*args, **kwargs)
user_profile_queryset = UserProfile.objects.filter(is_admin=True)
if user_profile_queryset is not None:
self.fields['participants'].choices = [(up.pk, up.get_full_name()) for up in user_profile_queryset]
title = forms.CharField(max_length=32, required=False, widget=forms.TextInput(attrs={'class': 'form-control', 'maxlength': '32'}))
participants = forms.MultipleChoiceField(required=False, widget=forms.SelectMultiple(attrs={'class': 'form-control'}))
title = forms.CharField(max_length=32, required=False,
widget=forms.TextInput(attrs={'class': 'form-control', 'maxlength': '32'}))
participants = forms.MultipleChoiceField(required=False,
widget=forms.SelectMultiple(attrs={'class': 'form-control'}))
class Meta:
model = Conversation
@ -36,7 +37,6 @@ class ConversationForm(forms.ModelForm):
class MessageForm(forms.ModelForm):
class Meta:
model = Message
exclude = ['sent_at', 'author', 'conversation', 'account_status']
@ -57,7 +57,6 @@ class MessageForm(forms.ModelForm):
)
return msg
def save(self, commit=True):
# You must use MessageForm.create() for save the form
raise NotImplementedError

33
msg_app/migrations/0001_initial.py

@ -8,7 +8,6 @@ import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -35,10 +34,16 @@ class Migration(migrations.Migration):
name='ConversationMembership',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('status', models.CharField(choices=[('adm', 'Admin'), ('gst', 'Guest'), ('ban', 'Banned user'), ('inv', 'Inviter')], default='gst', max_length=3)),
('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='memberships', to=settings.AUTH_USER_MODEL)),
('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='msg_app.Conversation')),
('who_invite_that_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='self_conversations', to=settings.AUTH_USER_MODEL)),
('status', models.CharField(
choices=[('adm', 'Admin'), ('gst', 'Guest'), ('ban', 'Banned user'), ('inv', 'Inviter')],
default='gst', max_length=3)),
('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='memberships',
to=settings.AUTH_USER_MODEL)),
('conversation',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='msg_app.Conversation')),
('who_invite_that_user',
models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE,
related_name='self_conversations', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Conversation membership',
@ -66,9 +71,12 @@ class Migration(migrations.Migration):
name='MessageStatus',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('state', models.CharField(choices=[('new', 'New'), ('old', 'Seen'), ('del', 'Deleted')], default='new', max_length=3)),
('msg', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='msg_statuses', to='msg_app.Message')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='usr_msg_status', to=settings.AUTH_USER_MODEL)),
('state', models.CharField(choices=[('new', 'New'), ('old', 'Seen'), ('del', 'Deleted')], default='new',
max_length=3)),
('msg', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='msg_statuses',
to='msg_app.Message')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='usr_msg_status',
to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Message status',
@ -84,17 +92,20 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='message',
name='author',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages', to=settings.AUTH_USER_MODEL),
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages',
to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='message',
name='conversation',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='msg_app.Conversation', verbose_name='Conversation'),
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='msg_app.Conversation',
verbose_name='Conversation'),
),
migrations.AddField(
model_name='conversation',
name='participants',
field=models.ManyToManyField(related_name='conversations', through='msg_app.ConversationMembership', to=settings.AUTH_USER_MODEL),
field=models.ManyToManyField(related_name='conversations', through='msg_app.ConversationMembership',
to=settings.AUTH_USER_MODEL),
),
migrations.AlterUniqueTogether(
name='messagestatus',

4
msg_app/models.py

@ -82,7 +82,8 @@ class ConversationMembership(models.Model):
('inv', _('Inviter'))
)
status = models.CharField(max_length=3, choices=PARTICIPANT_STATUS, default='gst')
who_invite_that_user = models.ForeignKey(UserProfile, models.CASCADE, null=True, blank=True, related_name='self_conversations')
who_invite_that_user = models.ForeignKey(UserProfile, models.CASCADE, null=True, blank=True,
related_name='self_conversations')
def __str__(self):
return "%s < %s" % (self.conversation, self.account)
@ -103,7 +104,6 @@ def id_to_userprofile(acc):
class ConversationManager(models.Manager):
def create_conversation(self, author, other_participants, title=None):
other_participants = [id_to_userprofile(acc) for acc in other_participants]
if not title:

2
msg_app/urls.py

@ -1,10 +1,8 @@
from django.conf.urls import url
from . import views
app_name = 'msg_app'
urlpatterns = [
url(r'^$', views.ConversationsListView.as_view(), name='home'),
url(r'^new$', views.new_conversation, name='new_conversation'),

1
photo_app/admin.py

@ -2,5 +2,4 @@ from django.contrib import admin
from . import models
admin.site.register(models.Photo)

1
photo_app/migrations/0001_initial.py

@ -6,7 +6,6 @@ from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [

1
photo_app/urls.py

@ -5,7 +5,6 @@ urlpatterns = [
# url(r'^(?P<id>\d+)$', 'photo_albums', name='media_home_link_by_id'),
# url(r'^album(?P<id>\d+)$', 'photos', name='media_photos_link'),
# url(r'^newalbum/$', 'add_album', name='add_media_album_link'),
# url(r'^newphoto/$', 'add_photo_to_album', name='add_media_photo_link')
]

4
queue_mngr.py

@ -4,10 +4,10 @@ from pickle import loads
from pid.decorator import pidfile
import socket
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings")
from mydefs import LogicError
'''
obj = {
'client_ip': ip2int('127.0.0.1'),
@ -57,5 +57,5 @@ if __name__ == '__main__':
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings")
django.setup()
from agent.commands.dhcp import dhcp_commit, dhcp_expiry, dhcp_release
serve()
serve()

2
searchapp/apps.py

@ -1,5 +1,3 @@
from django.apps import AppConfig

2
searchapp/models.py

@ -1,3 +1 @@
# Create your models here.

1
searchapp/urls.py

@ -2,7 +2,6 @@ from django.conf.urls import url
from . import views
app_name = 'searchapp'
urlpatterns = [

1
statistics/fields.py

@ -8,7 +8,6 @@ import django.db.models as models
class UnixDateTimeField(models.DateTimeField):
# TODO(niklas9):
# * should we take care of transforming between time zones in any way here ?
# * get default datetime format from settings ?

4
statistics/migrations/0001_initial.py

@ -8,7 +8,6 @@ import statistics.fields
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -19,7 +18,8 @@ class Migration(migrations.Migration):
name='StatCache',
fields=[
('last_time', statistics.fields.UnixDateTimeField()),
('ip', mydefs.MyGenericIPAddressField(max_length=8, primary_key=True, protocol='ipv4', serialize=False)),
(
'ip', mydefs.MyGenericIPAddressField(max_length=8, primary_key=True, protocol='ipv4', serialize=False)),
('octets', models.PositiveIntegerField(default=0)),
('packets', models.PositiveIntegerField(default=0)),
],

4
statistics/models.py

@ -14,7 +14,6 @@ def get_dates():
class StatManager(models.Manager):
def chart(self, username, count_of_parts=12, want_date=date.today()):
def byte_to_mbit(x):
return ((x / 60) * 8) / 2 ** 20
@ -52,7 +51,6 @@ class StatManager(models.Manager):
return
class StatElem(models.Model):
cur_time = UnixDateTimeField(primary_key=True)
uname = models.CharField(max_length=127, blank=True, null=True, default=None)
@ -107,11 +105,11 @@ class StatElem(models.Model):
def getModel(want_date=now()):
class DynamicStatElem(StatElem):
class Meta:
db_table = 'flowstat_%s' % want_date.strftime("%d%m%Y")
abstract = False
return DynamicStatElem

2
statistics/urls.py

@ -2,10 +2,8 @@ from django.conf.urls import url
from . import views
app_name = 'statistics'
urlpatterns = [
url(r'^$', views.home, name='home'),
]

2
systemd_units/webdav_backup.py

@ -3,7 +3,6 @@ from sys import argv
from datetime import datetime, timedelta
import webdav.client as wc
options = {
'webdav_hostname': "https://webdav.yandex.ru/",
'webdav_login': "YANDEX USERNAME",
@ -32,4 +31,3 @@ if __name__ == '__main__':
client.upload_sync(remote_path="ISBackups/%s" % reqfile, local_path="/var/backups/%s" % reqfile)
except wc.WebDavException as we:
print(we, type(we))

1
tariff_app/admin.py

@ -2,5 +2,4 @@ from django.contrib import admin
from . import models
admin.site.register(models.Tariff)

9
tariff_app/migrations/0001_initial.py

@ -7,7 +7,6 @@ import jsonfield.fields
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -21,7 +20,9 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=64, verbose_name='Periodic pay name')),
('when_add', models.DateTimeField(auto_now_add=True, verbose_name='When pay created')),
('calc_type', models.CharField(choices=[('df', 'Default periodic pay'), ('cs', 'Custom periodic pay')], default='df', max_length=2, verbose_name='Script type for calculations')),
('calc_type',
models.CharField(choices=[('df', 'Default periodic pay'), ('cs', 'Custom periodic pay')], default='df',
max_length=2, verbose_name='Script type for calculations')),
('amount', models.FloatField(verbose_name='Total amount')),
('extra_info', jsonfield.fields.JSONField()),
],
@ -42,7 +43,9 @@ class Migration(migrations.Migration):
('speedIn', models.FloatField(default=0.0, verbose_name='Speed In')),
('speedOut', models.FloatField(default=0.0, verbose_name='Speed Out')),
('amount', models.FloatField(default=0.0, verbose_name='Price')),
('calc_type', models.CharField(choices=[('Df', 'Base calculate functionality'), ('Dp', 'IS'), ('Cp', 'Private service')], default='Df', max_length=2, verbose_name='Script')),
('calc_type', models.CharField(
choices=[('Df', 'Base calculate functionality'), ('Dp', 'IS'), ('Cp', 'Private service')],
default='Df', max_length=2, verbose_name='Script')),
('is_admin', models.BooleanField(default=False, verbose_name='Tech service')),
('groups', models.ManyToManyField(blank=True, to='group_app.Group')),
],

1
tariff_app/models.py

@ -10,7 +10,6 @@ from jsonfield import JSONField
class TariffManager(models.Manager):
def get_tariffs_by_group(self, group_id):
return self.filter(groups__id__in=[group_id])

1
taskapp/admin.py

@ -2,6 +2,5 @@ from django.contrib import admin
from . import models
admin.site.register(models.Task)
admin.site.register(models.ChangeLog)

1
taskapp/forms.py

@ -44,7 +44,6 @@ class TaskFrm(forms.ModelForm):
class ExtraCommentForm(forms.ModelForm):
def make_save(self, author, task: Task):
comment = super(ExtraCommentForm, self).save(commit=False)
comment.author = author

44
taskapp/migrations/0001_initial.py

@ -9,7 +9,6 @@ import taskapp.models
class Migration(migrations.Migration):
initial = True
dependencies = [
@ -22,7 +21,9 @@ class Migration(migrations.Migration):
name='ChangeLog',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('act_type', models.CharField(choices=[('e', 'Change task'), ('c', 'Create task'), ('d', 'Delete task'), ('f', 'Completing tasks'), ('b', 'The task failed')], max_length=1)),
('act_type', models.CharField(choices=[('e', 'Change task'), ('c', 'Create task'), ('d', 'Delete task'),
('f', 'Completing tasks'), ('b', 'The task failed')],
max_length=1)),
('when', models.DateTimeField(auto_now_add=True)),
],
),
@ -32,7 +33,8 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField(verbose_name='Text of comment')),
('date_create', models.DateTimeField(auto_now_add=True, verbose_name='Time of create')),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Author')),
('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL,
verbose_name='Author')),
],
options={
'verbose_name': 'Extra comment',
@ -46,15 +48,29 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('descr', models.CharField(blank=True, max_length=128, null=True, verbose_name='Description')),
('priority', models.CharField(choices=[('A', 'Higher'), ('C', 'Average'), ('E', 'Low')], default='E', max_length=1, verbose_name='A priority')),
('out_date', models.DateField(blank=True, default=taskapp.models._delta_add_days, null=True, verbose_name='Reality')),
('priority',
models.CharField(choices=[('A', 'Higher'), ('C', 'Average'), ('E', 'Low')], default='E', max_length=1,
verbose_name='A priority')),
('out_date', models.DateField(blank=True, default=taskapp.models._delta_add_days, null=True,
verbose_name='Reality')),
('time_of_create', models.DateTimeField(auto_now_add=True, verbose_name='Date of create')),
('state', models.CharField(choices=[('S', 'New'), ('C', 'Confused'), ('F', 'Completed')], default='S', max_length=1, verbose_name='Condition')),
('attachment', models.ImageField(blank=True, null=True, upload_to='task_attachments/%Y.%m.%d', verbose_name='Attached image')),
('mode', models.CharField(choices=[('na', 'not chosen'), ('ic', 'ip conflict'), ('yt', 'yellow triangle'), ('rc', 'red cross'), ('ls', 'weak speed'), ('cf', 'cable break'), ('cn', 'connection'), ('pf', 'periodic disappearance'), ('cr', 'router setup'), ('co', 'configure onu'), ('fc', 'crimp cable'), ('ni', 'Internet crash'), ('ot', 'other')], default='na', max_length=2, verbose_name='The nature of the damage')),
('abon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='abonapp.Abon', verbose_name='Subscriber')),
('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Task author')),
('recipients', models.ManyToManyField(related_name='them_task', to=settings.AUTH_USER_MODEL, verbose_name='Recipients')),
('state', models.CharField(choices=[('S', 'New'), ('C', 'Confused'), ('F', 'Completed')], default='S',
max_length=1, verbose_name='Condition')),
('attachment', models.ImageField(blank=True, null=True, upload_to='task_attachments/%Y.%m.%d',
verbose_name='Attached image')),
('mode', models.CharField(
choices=[('na', 'not chosen'), ('ic', 'ip conflict'), ('yt', 'yellow triangle'),
('rc', 'red cross'), ('ls', 'weak speed'), ('cf', 'cable break'), ('cn', 'connection'),
('pf', 'periodic disappearance'), ('cr', 'router setup'), ('co', 'configure onu'),
('fc', 'crimp cable'), ('ni', 'Internet crash'), ('ot', 'other')], default='na',
max_length=2, verbose_name='The nature of the damage')),
('abon', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE,
to='abonapp.Abon', verbose_name='Subscriber')),
('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL,
related_name='+', to=settings.AUTH_USER_MODEL,
verbose_name='Task author')),
('recipients', models.ManyToManyField(related_name='them_task', to=settings.AUTH_USER_MODEL,
verbose_name='Recipients')),
],
options={
'db_table': 'task',
@ -65,7 +81,8 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='extracomment',
name='task',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='taskapp.Task', verbose_name='Owner task'),
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='taskapp.Task',
verbose_name='Owner task'),
),
migrations.AddField(
model_name='changelog',
@ -75,6 +92,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='changelog',
name='who',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL),
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+',
to=settings.AUTH_USER_MODEL),
),
]

7
taskapp/models.py

@ -8,7 +8,6 @@ from django.utils.translation import ugettext as _
from abonapp.models import Abon
from .handle import handle as task_handle
TASK_PRIORITIES = (
('A', _('Higher')),
('C', _('Average')),
@ -61,8 +60,10 @@ def _delta_add_days():
class Task(models.Model):
descr = models.CharField(_('Description'), max_length=128, null=True, blank=True)
recipients = models.ManyToManyField(settings.AUTH_USER_MODEL, verbose_name=_('Recipients'), related_name='them_task')
author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+', on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_('Task author'))
recipients = models.ManyToManyField(settings.AUTH_USER_MODEL, verbose_name=_('Recipients'),
related_name='them_task')
author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='+', on_delete=models.SET_NULL, null=True,
blank=True, verbose_name=_('Task author'))
priority = models.CharField(_('A priority'), max_length=1, choices=TASK_PRIORITIES, default=TASK_PRIORITIES[2][0])
out_date = models.DateField(_('Reality'), null=True, blank=True, default=_delta_add_days)
time_of_create = models.DateTimeField(_('Date of create'), auto_now_add=True)

5
taskapp/urls.py

@ -2,10 +2,8 @@ from django.conf.urls import url
from . import views
app_name = 'taskapp'
urlpatterns = [
url(r'^$', views.NewTasksView.as_view(), name='home'),
url(r'^(?P<task_id>\d+)$', views.TaskUpdateView.as_view(), name='edit'),
@ -14,7 +12,8 @@ urlpatterns = [
url(r'^(?P<task_id>\d+)/fail$', views.task_failed, name='fail'),
url(r'^(?P<task_id>\d+)/remind', views.remind, name='remind'),
url(r'^(?P<task_id>\d+)/comment/add$', views.NewCommentView.as_view(), name='comment_add'),
url(r'^(?P<task_id>\d+)/comment/(?P<comment_id>\d{1,8})/remove$', views.DeleteCommentView.as_view(), name='comment_del'),
url(r'^(?P<task_id>\d+)/comment/(?P<comment_id>\d{1,8})/remove$', views.DeleteCommentView.as_view(),
name='comment_del'),
url(r'^add$', views.TaskUpdateView.as_view(), name='add'),
url(r'^failed$', views.FailedTasksView.as_view(), name='failed_tasks'),
url(r'^finished$', views.FinishedTaskListView.as_view(), name='finished_tasks'),

Loading…
Cancel
Save