Browse Source

add simple traf info to employer page

devel
Dmitry Novikov 7 years ago
parent
commit
4adb3909d6
  1. 25
      abonapp/templates/abonapp/editAbon.html
  2. 1
      finapp/admin.py
  3. 16
      traf_stat/models.py

25
abonapp/templates/abonapp/editAbon.html

@ -192,12 +192,14 @@
<h3 class="panel-title">{% trans 'Ip address' %}</h3> <h3 class="panel-title">{% trans 'Ip address' %}</h3>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<dl class="dl-horizontal">
{% if abon.ip_address %} {% if abon.ip_address %}
<dt>{{ abon.ip_address }}</dt>
<dd>
<div class="btn-group btn-group-xs"> <div class="btn-group btn-group-xs">
<a href="{% url 'abonapp:user_session_free' group.pk abon.username %}" class="btn btn-danger" title="{% trans 'Free session' %}" data-toggle="tooltip"> <a href="{% url 'abonapp:user_session_free' group.pk abon.username %}" class="btn btn-danger" title="{% trans 'Free session' %}" data-toggle="tooltip">
<span class="glyphicon glyphicon-remove"></span> <span class="glyphicon glyphicon-remove"></span>
</a> </a>
<b>{{ abon.ip_address }}</b>
{% if perms.abonapp.can_ping %} {% if perms.abonapp.can_ping %}
<a href="{% url 'abonapp:ping' group.pk abon.username %}" class="btn btn-default btn-cmd" title="Ping" data-param="{{ abon.ip_address }}"> <a href="{% url 'abonapp:ping' group.pk abon.username %}" class="btn btn-default btn-cmd" title="Ping" data-param="{{ abon.ip_address }}">
<span class="glyphicon glyphicon-flash"></span> Ping <span class="glyphicon glyphicon-flash"></span> Ping
@ -208,9 +210,28 @@
</a> </a>
{% endif %} {% endif %}
</div> </div>
</dd>
{% else %} {% else %}
<span class="text-info">{% trans 'No ip address' %}</span>
<dt><span class="glyphicon glyphicon-warning-sign text-danger"></span></dt>
<dd><span class="text-info">{% trans 'No ip address' %}</span></dd>
{% endif %} {% endif %}
{% if abon.statcache %}
<dt>{% trans 'Last traffic:' %}</dt>
<dd>
{% if abon.statcache.is_today %}
{{ abon.statcache.last_time|date:"H:i" }}
{% else %}
{{ abon.statcache.last_time|date:"D H:i" }}
{% endif %}
</dd>
<dt>{% trans 'Octets:' %}</dt>
<dd>{{ abon.statcache.octets_to|floatformat:2 }}Mb / 1 min.</dd>
<dt>{% trans 'Packets:' %}</dt>
<dd>{{ abon.statcache.packets }}</dd>
{% endif %}
</dl>
</div> </div>
<div class="panel-footer"> <div class="panel-footer">
<div class="btn-group btn-group-sm"> <div class="btn-group btn-group-sm">

1
finapp/admin.py

@ -2,3 +2,4 @@ from django.contrib import admin
from finapp import models from finapp import models
admin.site.register(models.AllTimePayLog) admin.site.register(models.AllTimePayLog)
admin.site.register(models.PayAllTimeGateway)

16
traf_stat/models.py

@ -124,6 +124,22 @@ class StatCache(models.Model):
def is_today(self): def is_today(self):
return date.today() == self.last_time.date() return date.today() == self.last_time.date()
def octets_to(self, to='m', bsize=1024):
"""convert octets <bytes> to megabytes, etc.
sample code:
print('mb= ' + str(bytesto(314575262000000, 'm')))
sample output:
mb= 300002347.946
to:
:param to: may be one of k m g t p e
:param bsize: byte size
"""
a = {'k': 1, 'm': 2, 'g': 3, 't': 4, 'p': 5, 'e': 6}
r = float(self.octets)
for i in range(a[to]):
r = r / bsize
return r
class Meta: class Meta:
db_table = 'flowcache' db_table = 'flowcache'
ordering = ('-last_time',) ordering = ('-last_time',)
Loading…
Cancel
Save