From 0cd47cb618faa7e72dfa2efa15f76d52d0e3b075 Mon Sep 17 00:00:00 2001 From: Dmitry Novikov Date: Sat, 6 Jan 2018 13:41:04 +0300 Subject: [PATCH] fix --- abonapp/locale/ru/LC_MESSAGES/django.po | 4 ++ abonapp/templates/abonapp/editAbon.html | 6 ++- agent/netflow/netflow_handler.py | 59 +++++++++++++++++++++++ dialing_app/templates/inbox_sms.html | 2 +- dialing_app/templates/modal_send_sms.html | 2 +- static/css/custom.css | 4 ++ templates/all_base.html | 6 +-- 7 files changed, 76 insertions(+), 7 deletions(-) create mode 100755 agent/netflow/netflow_handler.py diff --git a/abonapp/locale/ru/LC_MESSAGES/django.po b/abonapp/locale/ru/LC_MESSAGES/django.po index 51173f4..d060efd 100644 --- a/abonapp/locale/ru/LC_MESSAGES/django.po +++ b/abonapp/locale/ru/LC_MESSAGES/django.po @@ -988,3 +988,7 @@ msgstr "Инфо." msgid "Dialing" msgstr "Звонки" + +msgid "No have ip" +msgstr "Нет ip адреса" + diff --git a/abonapp/templates/abonapp/editAbon.html b/abonapp/templates/abonapp/editAbon.html index f1319de..c09f6fa 100644 --- a/abonapp/templates/abonapp/editAbon.html +++ b/abonapp/templates/abonapp/editAbon.html @@ -88,7 +88,11 @@
{% if ip and perms.abonapp.can_ping %} - Ping + Ping + + {% else %} + + {% trans 'No have ip' %} {% endif %} diff --git a/agent/netflow/netflow_handler.py b/agent/netflow/netflow_handler.py new file mode 100755 index 0000000..018846c --- /dev/null +++ b/agent/netflow/netflow_handler.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python3 +import MySQLdb +import sys +import os +import imp + + +if __name__ == '__main__': + if len(sys.argv) < 2: + print("Нужно имя файла дампа netflow") + exit(1) + + FNAME = sys.argv[1] + + cur_dir = os.path.dirname(os.path.abspath(__file__)) + tmp_dir = '/tmp/djing_flow' + tmp_ipuser_file = '/tmp/ipuser.txt' + tmp_dump_file = '%s/djing_flow_dump.tmp' % tmp_dir + + os.chdir(cur_dir) + if not os.path.isdir(tmp_dir): + os.mkdir(tmp_dir) + os.rename('/tmp/djing_flow/%s' % FNAME, tmp_dump_file) + + settings = imp.load_source('djing.settings.DATABASES', '../../djing/settings.py') + + db = MySQLdb.connect( + host=settings.DATABASES['default']['HOST'], + user=settings.DATABASES['default']['USER'], + passwd=settings.DATABASES['default']['PASSWORD'], + db=settings.DATABASES['default']['NAME'], + charset='utf8' + ) + cursor = db.cursor() + + sql = r'SELECT abonent.ip_address, acc.username FROM abonent LEFT JOIN accounts_app_userprofile AS acc ON (acc.id = abonent.userprofile_ptr_id) WHERE abonent.ip_address != 0' + ln = cursor.execute(sql) + with open(tmp_ipuser_file, 'w') as f: + f.write("count: %d\n" % ln) + while True: + row = cursor.fetchone() + if row is None: + break + f.write("%d-%s\n" % row) + db.close() + + os.system('/usr/bin/bash -c "%(CUR_DIR)s/djing_flow %(TMP_IPUSER_FILE)s < %(TMP_DUMP)s | /usr/bin/mysql -u%(DB_USER)s -h %(HOST)s -p %(DB_NAME)s --password=%(DB_PASSW)s"' % { + 'CUR_DIR': cur_dir, + 'TMP_IPUSER_FILE': tmp_ipuser_file, + 'TMP_DUMP': tmp_dump_file, + 'DB_USER': settings.DATABASES['default']['USER'], + 'HOST': settings.DATABASES['default']['HOST'], + 'DB_NAME': settings.DATABASES['default']['NAME'], + 'DB_PASSW': settings.DATABASES['default']['PASSWORD'] + }) + + os.remove(tmp_dump_file) + os.remove(tmp_ipuser_file) + diff --git a/dialing_app/templates/inbox_sms.html b/dialing_app/templates/inbox_sms.html index 0851c8b..04ad121 100644 --- a/dialing_app/templates/inbox_sms.html +++ b/dialing_app/templates/inbox_sms.html @@ -15,7 +15,7 @@ {{ msg.when|date:'d M, H:i:s' }} via {{ msg.dev }} -

{{ msg.text }}

+
{{ msg.text }}
{% empty %} diff --git a/dialing_app/templates/modal_send_sms.html b/dialing_app/templates/modal_send_sms.html index ca7e60b..e936c6e 100644 --- a/dialing_app/templates/modal_send_sms.html +++ b/dialing_app/templates/modal_send_sms.html @@ -12,7 +12,7 @@ {% bootstrap_icon 'earphone' as ic %} {% bootstrap_field form.dst label_class='col-sm-2' field_class='col-sm-10' addon_before=ic %} - {% bootstrap_icon 'earphone' as ic %} + {% bootstrap_icon 'pencil' as ic %} {% bootstrap_field form.text label_class='col-sm-2' field_class='col-sm-10' addon_before=ic %}