Browse Source

Merge branch 'devel' of https://github.com/nerosketch/djing into devel

devel
bashmak 8 years ago
parent
commit
90ec56901d
  1. 4
      abonapp/locale/ru/LC_MESSAGES/django.po
  2. 6
      abonapp/templates/abonapp/editAbon.html
  3. 59
      agent/netflow/netflow_handler.py
  4. 2
      dialing_app/templates/inbox_sms.html
  5. 2
      dialing_app/templates/modal_send_sms.html
  6. 4
      static/css/custom.css
  7. 6
      templates/all_base.html

4
abonapp/locale/ru/LC_MESSAGES/django.po

@ -988,3 +988,7 @@ msgstr "Инфо."
msgid "Dialing" msgid "Dialing"
msgstr "Звонки" msgstr "Звонки"
msgid "No have ip"
msgstr "Нет ip адреса"

6
abonapp/templates/abonapp/editAbon.html

@ -88,7 +88,11 @@
<div class="col-sm-offset-4 col-sm-8 btn-group btn-group-sm"> <div class="col-sm-offset-4 col-sm-8 btn-group btn-group-sm">
{% if ip and perms.abonapp.can_ping %} {% if ip and perms.abonapp.can_ping %}
<a href="{% url 'abonapp:ping' %}" class="btn btn-default btn-cmd" title="Ping" data-param="{{ ip }}"> <a href="{% url 'abonapp:ping' %}" class="btn btn-default btn-cmd" title="Ping" data-param="{{ ip }}">
<span class="glyphicon glyphicon-check"></span> Ping
<span class="glyphicon glyphicon-flash"></span> Ping
</a>
{% else %}
<a href="#" class="btn btn-default disabled">
<span class="glyphicon glyphicon-flash"></span> {% trans 'No have ip' %}
</a> </a>
{% endif %} {% endif %}

59
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)

2
dialing_app/templates/inbox_sms.html

@ -15,7 +15,7 @@
<small>{{ msg.when|date:'d M, H:i:s' }} via {{ msg.dev }}</small> <small>{{ msg.when|date:'d M, H:i:s' }} via {{ msg.dev }}</small>
</h5> </h5>
<p>{{ msg.text }}</p>
<pre>{{ msg.text }}</pre>
</div> </div>
{% empty %} {% empty %}

2
dialing_app/templates/modal_send_sms.html

@ -12,7 +12,7 @@
{% bootstrap_icon 'earphone' as ic %} {% bootstrap_icon 'earphone' as ic %}
{% bootstrap_field form.dst label_class='col-sm-2' field_class='col-sm-10' addon_before=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 %} {% bootstrap_field form.text label_class='col-sm-2' field_class='col-sm-10' addon_before=ic %}
<button type="submit" class="btn btn-sm btn-success"> <button type="submit" class="btn btn-sm btn-success">

4
static/css/custom.css

@ -273,3 +273,7 @@ div#loading>div.gif {
overflow-y: auto; overflow-y: auto;
max-height: 65vh; max-height: 65vh;
} }
pre {border: 0; background-color: transparent;}

6
templates/all_base.html

@ -55,10 +55,8 @@
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Другое <b class="caret"></b></a> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Другое <b class="caret"></b></a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="{% url 'acc_app:profile' %}">Настройки</a></li>
<li class="divider"></li>
<li class="dropdown-header">Действия аккаунта</li>
<li><a href="{% url 'acc_app:logout' %}">Выйти</a></li>
<li><a href="{% url 'acc_app:profile' %}"><span class="glyphicon glyphicon-wrench"></span> Настройки</a></li>
<li><a href="{% url 'acc_app:logout' %}"><span class="glyphicon glyphicon-log-out"></span> Выйти</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>

Loading…
Cancel
Save